连接器输入:
E:\Python\Python3.8.10\libs\python38.lib
引入头文件:
#include "E:\Python\Python3.8.10\include\Python.h"
Py_Initialize报错:
Fatal Python error: failed to get the Python codec of the filesystem encoding
解决办法:
Py_SetPythonHome((const wchar_t*)(L"E:/Python/Python3.8.10")); Py_Initialize();
我们把 python38.dll 和 python38.zip 放到exe同目录下可以正常运行 ,接下来给他换个目录
1、延迟加载python38.dll
2、修改DLL加载路径 SetDllDirectory(dllPath.toStdWString().c_str()); python38.zip不用动,此时可以初始化成功
3、设置python可以的路径
QStringList path; path.append(res + "library"); path.append(res + "library/standard.zip"); Py_SetPath(path.join(";").toStdWString().c_str());
Py_Initialize报错:Fatal Python error: failed to get the Python codec of the filesystem encoding
因为我们设置了Py_SetPath ,会重写python路径,我们设置的一个library + 一个 zip文件 必须确保这两个正确,否则就报这个错误
用PyCharm初始化虚拟python环境的默认状态
用命令行新建的初始环境