1

我需要处理这个问题已经有一段时间了,但从未真正弄清楚为自定义模块导入/设置 PYTHONPATH 的最 Pythonic 方式是什么。我知道我可以使用 virtualenv 来管理它,我知道我可以在脚本中或通过 pth 文件设置它,但这些对我来说似乎都不是很干净和 Pythonic,所以我猜我错过了一些东西。

几乎总是,我感兴趣的所有自定义模块都包含在我克隆下来的 git 目录中,该目录包含我正在运行的任何脚本,如果这样可以简化事情的话。

我猜 virtualenv 是答案,但我想我会问,以防我遗漏任何东西。

编辑:澄清一下,这只是一个关于自定义模块的问题。我已经将 pip 用于 PyPI 的模块。

4

3 回答 3

0

virtualenv 是一个好的开始。

还有像 pip 和 easy_install 这样的包管理器来管理第三方模块。

在代码中,您可以使用:

import sys
sys.path.append('/path/to/customModule')
于 2013-04-01T19:43:27.037 回答
0

Virtualenv 是解决这个问题的方法。

pip install virtualenv

然后创建一个文件夹来设置您的环境。在那个文件夹里面:

virtualenv <new_env_name>

这将在该目录中创建一个新文件夹,其中有一个 bin 文件夹,在该 bin 文件夹中运行 source on activate 。然后您可以执行 pip install ,它只会为该环境安装它。

如果您正在克隆一个 git 存储库,并且您还希望能够轻松地阅读代码(例如,如果您也在处理该存储库)将其克隆到您的 work_dir 中,然后将包文件夹符号链接或别名到站点包中该 virtualenv 的 lib 目录中的目录。否则,如果您执行 python setup.py install 它正确打包,它应该为该 virtualenv 正确安装它。

于 2013-04-01T19:48:42.133 回答
0

您也可以使用 pip 安装不在 PyPI 上的软件包。你只需要一个 URI 端点和一个有效的 python 包:

例子:

$ pip install https://github.com/pypa/pip/archive/develop.zip#egg=pip
$ pip install git+https://github.com/pypa/pip.git#egg=pip
$ pip install git+git://github.com/pypa/pip.git#egg=pip
$ pip install /path/to/pip.tar.gz
$ pip install .

阅读更多https://pip-installer.org/en/latest/usage.html#pip-install

于 2013-04-11T22:34:46.893 回答