将本地 dist 包安装到 virtualenv 中
Install local dist package into virtualenv
我有一个pytest测试,我们称它为test.py
。我曾经 运行 在 virtualenv 之外进行这个测试;现在我正在尝试 运行 它在 virtualenv 沙箱中。
项目结构如下:
~/project/test # where test.py and all virtualenv files live
~/project/mylibrary
test.py
从 mylibrary
导入。过去,这是有效的,因为我将 ~/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
我有一个pytest测试,我们称它为test.py
。我曾经 运行 在 virtualenv 之外进行这个测试;现在我正在尝试 运行 它在 virtualenv 沙箱中。
项目结构如下:
~/project/test # where test.py and all virtualenv files live
~/project/mylibrary
test.py
从 mylibrary
导入。过去,这是有效的,因为我将 ~/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