将本地 dist 包安装到 virtualenv 中

Install local dist package into virtualenv

我有一个pytest测试,我们称它为test.py。我曾经 运行 在 vi​​rtualenv 之外进行这个测试;现在我正在尝试 运行 它在 virtualenv 沙箱中。

项目结构如下:

~/project/test # where test.py and all virtualenv files live
~/project/mylibrary

test.pymylibrary 导入。过去,这是有效的,因为我将 ~/project/mylibrary 中的代码安装到 /usr/lib/python2.7/dist-packages/mylibrary 中。

我不能 运行 带有 --system-site-packages 标志的 virtualenv。我也无法将代码从 ~/project/mylibrary 移动到 ~/project/test 文件夹中。我怎样才能访问我的 virtualenv 中 mylibrary 中的代码?

您不需要做任何特别的事情 - 只要您在 virtualenv 中工作,python setup.py install 就会自动将软件包安装到

$VIRTUAL_ENV/lib/python2.7/site-packages

而不是你的 system-wide

/usr/lib/python2.7/dist-packages

目录。

一般来说,使用pip install mylibrary/比较好,因为这样你可以使用pip uninstall mylibrary.

巧妙地卸载软件包

如果您要安装您正在开发的某些代码的工作副本,最好使用 pip install -e mylibrary/"editable" mode 中安装它,这会创建一个 link 到您的源目录,以便您安装的模块在您编辑代码时得到更新。

最简单的方法是将包含库的目录添加到您的 sys.path