嵌入Python Zip文件引发错误?
问题描述:
我想在我的应用程序中嵌入python zip文件。 我从python网站下载了zip文件(win32的)。嵌入Python 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文件嵌入到我的应用程序中?
答
“python-3.5.1-embed-win32.zip”内有另一个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();
...
我很想知道其他的文件是,(或者如果这是使用它的正确方法)...
答
回答关于“什么其他文件的最后一个问题用于“在嵌入式发行版中,您会在某些导入中看到错误。我收到了一个导入NumPy
/SciPy
的错误,因为Python35.zip
以外的其中一个文件丢失 - _ctypes.pyd
。至少在Python 3.5.2上,这个小文件pyvenv.cfg
也必须放在EXE旁边,它只是一个文本文件,表示applocal = true
。当然你当然需要python35.dll
...
我创建了一个[blog posts](http://www.myoddweb.com/2016/02/27/embed-python-in-your-c-application-without -python-installed-on-guest-machine /),指向python的链接以及后续步骤。 – FFMG