文档手册

QT 一步一步调用python3.8 支持win7的最后一个版本

2024-12-19 20:23:43

连接器输入:

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环境的默认状态

image

用命令行新建的初始环境

image