请问linux下用qt需要用到python在Py_Initialize就报错?

linux下用qt需要用到python在Py_Initialize就报错


慕尼黑8549860
浏览 509回答 3
3回答

汪汪一只猫

你在链接的时候必须提供正确的链接参数 (需要把 libpython 链接到你的可执行程序才能正确找到python C API)具体可以用 1pythonX.Y-config --cflags得到编译参数。用1pythonX.Y-config --ldflags得到链接参数比如在我的系统上python2.7得到的参数是12345$ python2.7-config --cflags-I/usr/include/python2.7 -I/usr/include/python2.7 -fno-strict-aliasing -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -DNDEBUG -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 $ python2.7-config --ldflags-lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynami那么就在编译和链接的时候分别加入上面列出的参数,就可以了 (注意,不要加我例子中打印出来的内容,要加你自己执行pythonX.Y-config 后得到的内容)。

慕工程0101907

一种方式是直接运行Python py源文件,方法是先在终端中用cd命令切换到py源文件所在的目录,然后以./文件名的方式运行py源文件(文件名前面加的是一个英文点号和一个英文斜杠,表示在当前目录下运行文件)。但是前提是这个py源文件必须被赋予执行权限,Linux系统中只有有执行权限的文件才可以执行,即便是一个二进制文件没有可执行权限也是不能运行的,给文件添加可执行权限的命令是:chmod a+x 文件路径还有一种运行Python py源文件的方式不需要py源文件有可执行权限,方法是用Python命令加py文件名的形式来运行源文件,如果是Python 2.x的Python源文件,就用python命令执行:python 文件名;如果是Python 3的Python源文件,就用python3命令执行:python3 文件名。
打开App,查看更多内容
随时随地看视频慕课网APP