Python可嵌入Zip文件不包括lib/sitepackages搜索路径

用户

我正在尝试将Python版本从3.4更新到3.6。我们将Python嵌入到C++应用程序中,因此使用新的(Python 3.5)Windows x86 embeddable zip file似乎是合乎逻辑的。但是,我们的应用程序无法执行,因为“lib/site packages”没有添加到sys.path变量中。我已经确认在我的机器上安装了python3.6并从安装位置运行后,sys.path变量包含(相对于Python目录):

'...\\python36.zip'
'...\\DLLs'
'...\\lib'
'...'
'...\\lib\\site-packages'

但是,当我从同一台机器上的可嵌入zip文件运行时,sys.path变量包含(相对于python目录):

^{pr2}$

在这两种情况下,“lib/site packages”目录都存在于Python目录中。我也没有定义PYTHONPATH环境变量。{zip>如何确定与安装的cdzip文件相同的版本?在


已被浏览了1586次
更新日期: 2020-10-28 18:35:44
1 个回答
fefe Tyson

在提取Python可嵌入zip文件后,根目录中有一个名为“python36.\u pth”的文件。该文件包含以下文本:

# Uncomment to run site.main() automatically
#import site

如注释所示,只需通过删除“#”字符来取消对import site语句的注释。执行此操作后,sys.path变量包含:

^{pr2}$

这仍然不同于已安装的版本,但正是我在特定情况下所需要的。在

开始编辑

我还发现,您可以完全删除“python36.u pth”文件,它将Python恢复为不可嵌入版本的行为。在

评论 - 2020年8月7日 23:25

最新Python问答

推荐Python问答