gpt4 book ai didi

python - 创建辅助站点包目录(并从其中的 .pth 文件加载包)

转载 作者:IT老高 更新时间:2023-10-28 21:03:04 26 4
gpt4 key购买 nike

我想将一些软件包安装到第三方 site-packages 目录(超出标准系统位置)。有什么方法可以设置它以尊重其中的 .pth 文件?


背景:我正在使用 OS X、virtualenv 和 homebrew。有一些包(在我的例子中尤其是 wxPython)不能通过 pip 很好地安装到 virtualenv 中。在这些情况下,可以使用自制软件包来代替它们。 Homebrew 在 /usr/local/lib/python2.7 中创建第三个站点包文件夹。我想简单地指向这个文件夹并将所有项目的维护留在 brew 的控制之下。然而,这似乎是不可能的。

我当然不是唯一对此问题感兴趣的人。我敢打赌,我偶然发现的许多通用的“pth files not working”问题和在线帖子都与这个问题有关。有好的解决办法吗?

最佳答案

看看site模块。它提供功能addsitedir这应该做你想做的。

最简单的使用方法是创建一个名为 sitecustomize.pyusercustomize.py 的文件,并将其放在当前的 PYTHONPATH 目录(或任何以 sys.path 结尾的目录),内容如下:

import site
site.addsitedir('/usr/local/lib/python2.7')

当 Python 启动时,会尝试导入 sitecustomize,然后导入 usercustomize,这就是它起作用的原因。来自网站文档:

After these path manipulations, an attempt is made to import a module named sitecustomize, which can perform arbitrary site-specific customizations. It is typically created by a system administrator in the site-packages directory. If this import fails with an ImportError exception, it is silently ignored.

After this, an attempt is made to import a module named usercustomize, which can perform arbitrary user-specific customizations, if ENABLE_USER_SITE is true. This file is intended to be created in the user site-packages directory (see below), which is part of sys.path unless disabled by -s. An ImportError will be silently ignored.

关于python - 创建辅助站点包目录(并从其中的 .pth 文件加载包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10693706/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com