请问linux下用qt需要用到python在Py_Initialize就报错?
3 回答
翻阅古今
TA贡献1780条经验 获得超5个赞
你在链接的时候必须提供正确的链接参数 (需要把 libpython 链接到你的可执行程序才能正确找到python C API)
具体可以用
1 | pythonX.Y-config --cflags |
得到编译参数。
用
1 | pythonX.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 后得到的内容)。
慕姐4208626
TA贡献1852条经验 获得超7个赞
一种方式是直接运行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 文件名。
- 3 回答
- 0 关注
- 738 浏览
添加回答
举报
0/150
提交
取消