为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕尼黑8549860 2019-06-17 14:11:31
linux下用qt需要用到python在Py_Initialize就报错
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

你在链接的时候必须提供正确的链接参数 (需要把 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 后得到的内容)。


查看完整回答
反对 回复 2019-06-29
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

一种方式是直接运行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 文件名。

查看完整回答
反对 回复 2019-06-29
  • 3 回答
  • 0 关注
  • 508 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信