问题描述
我在嵌入python时遇到了一个很奇怪的问题。
如果我未指定PYTHONPATH
,则Py_Initialize
失败, Py_Initialize
发生ImportError: No module named site
。
如果我在cmd中设置了PYTHONPATH
,然后运行我的程序,它将成功!
如果我以编程方式设置PYTHONPATH
( _putenv_s
/ SetEnvironmentVariable
),它将再次失败,并出现ImportError
。
我检查了该值是否已通过system("echo %PYTHONPATH%");
,我已多次确保它是正确的路径。
我不知道为什么它会失败...任何想法都值得赞赏。
设置:win10 x64,嵌入在C程序中的无堆栈python 2.7 x86。
1楼
我发现python37._pth可用于配置sys.path信息。
python37.zip
.
Lib
Lib\site-packages
# Uncomment to run site.main() automatically
#import site
2楼
原来我不得不设置PYTHONPATH
,然后延迟加载dll。
我拥有的python库似乎是非标准的/已修改。