嵌入Python Zip文件引发错误?

时间:2016-02-27 06:53:18

标签: python c++ python-3.x

我想在我的应用程序中嵌入python zip文件。 我从python站点(win32 one)下载了zip文件。

这是我用来设置python路径的代码

#include <Python.h>
...
std::wstring exe_dir = L"\\exe\\path";
std::wstring python_path;
python_path += exe_dir + L"python-3.5.1-embed-win32.zip";
Py_SetPath(python_path.c_str());

Py_Initialize(); // Error : "Py_Initialize: unable to load the file system codec"

...

但无论我做什么,应用程序都会一直抛出相同的错误。 即使我玩各种各样的道路。

如何在我的应用中嵌入zip文件?

2 个答案:

答案 0 :(得分:1)

&#34; python-3.5.1-embed-win32.zip&#34; 中还有另一个zip文件。

python35.zip

该文件是需要添加的文件。

#include <Python.h>
...    
std::wstring exe_dir = L"\\exe\\path";
std::wstring python_path;
python_path += exe_dir + L"python35.zip";
Py_SetPath(python_path.c_str());

Py_Initialize();    
...

我很想知道其他文件的用途,(或者这是否是使用它的正确方法)......

答案 1 :(得分:0)

要回答有关嵌入式发行版中“使用其他文件的内容”的最后一个问题,您会看到某些导入时出现错误。导入NumPy / SciPy时出错,因为Python35.zip之外的其中一个文件丢失了 - _ctypes.pyd。另外,小文件pyvenv.cfg必须至少在Python 3.5.2上放在你的EXE旁边,这只是一个文本文件applocal = true。当然,你当然需要python35.dll ......