目标是有一个通用目录,我可以在网络上添加包,这些包自动添加到sys.path
,而无需每次运行site.addsitedir
或sys.path.append
包。有没有办法做到这一点?嵌套的.pth文件或从网络加载额外的网站目录
背景:我有一个小型的用户网络,他们都需要访问相同的脚本。每次我想为它们添加一个新包时,我都会将路径添加到它们的PYTHONPATH
环境变量中。用户群已经开始增长,包的数量也随之增加。
如果我可以在启动任何脚本时加载的网络上设置master.pth
(不需要额外的代码),我将非常感激。不过,它似乎不能嵌套.pth
文件,因此只需将指针.pth
添加到master.pth
目录似乎不起作用。
编辑:关于来自@ S.Lott的评论(对评论有点大):以wxPython为例。将三个对象放置在site-packages目录中:wxversion.py,一个名为wx-2.8-msw-unicode的目录和一个.pth
文件。这个。 pth
文件指向该目录,其中包含所有可导入的包(wx,wxPython等)。我目前有三种其他类似结构的软件包,其中一种具有几个基本模块。我需要将所有可导入的模块移动到同一个目录中以获得所需的结果。
但是,如果.pth
文件可以“嵌套”,我可以将所有这些目录添加到master.pth
,保持一个相对干净的文件夹。我希望这是有道理的,并感谢您的帮助!
只需将单独的'.pth'文件添加到Python的普通site-packages目录中即可。这样做有什么问题?为什么要添加另一个文件和这个“间接”? –
@ S.Lott:主要是因为我不想在每次向网络上的每个人添加新软件包时更新/添加.pth文件。我想做一次性设置,然后在那之后更新网络目录。 – TorelTwiddler
系统管理没有“皇室之路”。您应该可以协调自己编写,调试和支持用户的安装程序,以将软件包添加到其各种Python安装中。要么。为所有用户使用一个共享目录。 –