如何让pip将软件包安装到虚拟环境中?

Dan*_*nte 12 python pip python-3.x python-venv

在Windows 8上,我有一个Python 3项目的以下结构:

../Project/
../Project/app/app.py
../Project/app/setup.py
Run Code Online (Sandbox Code Playgroud)

从app文件夹中,我调用以下命令来创建并进入虚拟环境:

pyvenv.py venv
cd venv\Scripts
activate.bat
cd ../..
Run Code Online (Sandbox Code Playgroud)

现在我想将Nose单元测试框架安装到我的虚拟环境中:

pip install nose
Run Code Online (Sandbox Code Playgroud)

...并且Nose被安装到全局文件夹中(在我的例子中,C:\ Python33).

当我调用时python setup.py install,我的自定义模块安装到虚拟环境中.为什么PIP不这样做呢?

alk*_*lko 6

以下文档后,它对我很有用:

常见的安装工具,例如Distributepipvenvs 一样工作 - 即当一个venv处于活动状态时,他们将Python软件包安装到venv中,而不需要被告知明确这样做.当然,您需要先将它们安装到venv中:这可以通过distribute_setup.py激活venv运行,然后运行来完成easy_install pip.或者,您可以下载源tar python setup.py install包并在解压缩后运行,并激活venv.