将local dist软件包安装到virtualenv中

时间:2016-01-05 22:29:34

标签: python pip virtualenv

我有一个pytest测试,我们称之为test.py。我以前在virtualenv之外运行这个测试;现在我试图在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中的代码?

2 个答案:

答案 0 :(得分:4)

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

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

而不是你的系统范围

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

。目录

一般来说,使用pip install mylibrary/会更好,因为这样您可以使用pip uninstall mylibrary整齐地卸载软件包。

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

答案 1 :(得分:-2)

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