嵌入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();  
... 

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

+0

我创建了一个[blog posts](http://www.myoddweb.com/2016/02/27/embed-python-in-your-c-application-without -python-installed-on-guest-machine /),指向python的链接以及后续步骤。 – FFMG

回答关于“什么其他文件的最后一个问题用于“在嵌入式发行版中,您会在某些导入中看到错误。我收到了一个导入NumPy/SciPy的错误,因为Python35.zip以外的其中一个文件丢失 - _ctypes.pyd。至少在Python 3.5.2上,这个小文件pyvenv.cfg也必须放在EXE旁边,它只是一个文本文件,表示applocal = true。当然你当然需要python35.dll ...