在可嵌入的Python中启用网站包

时间:2018-11-02 16:28:26

标签: python sys pythonpath

我从Python.org download page下载了Windows的“嵌入式” Python发行版之一。我意识到,在将Pip添加到其中之后,我可以安装软件包,但无法导入它们。经过一番挖掘后,我发现它掉落了默认启用的标志sys.flags.no_site。这样可以防止Python将通常的Lib/site-packages目录添加到Pip进行安装的路径。请注意,site.getsitepackages()仍然显示正确的路径,只是它们没有添加到sys.path中。

我肯定是因为“可嵌入”发行版应该是可移植的并且是独立的,但是我仍然希望能够使用安装在其目录下的Pip软件包。事实是,当您启动解释器并通过no_site开关时,通常可以禁用-S标志,但是默认情况下似乎没有办法重新启用它。据我所知,这是硬编码在分布式文件中的某个位置,没有配置文件或类似的东西。

我知道可以采用多种解决方法(我自己将site.getsitepackages()添加到sys.path,将软件包安装到Python根目录中...),但是我想知道是否有任何更清洁的方式来更改此行为。否则,如果您有关于如何有效地将此“可嵌入” Python与外部软件包一起使用的技巧,也可能会有所帮助。

编辑:用户软件包也会发生同样的问题,默认情况下也会启用标记no_user_site,尽管这对我来说不是问题,因为我实际上更喜欢禁用用户站点软件包。

0 个答案:

没有答案