pyvenv&请勿安装到本地站点包中

时间:2013-07-31 22:24:09

标签: django python-3.x pip

我正在测试使用Ubuntu 12.04驱动Django 1.6b,Python 3.3.2(从源代码编译)和pyvenv

每次尝试安装执行pip install [package]时,程序包都会尝试全局安装,而不是安装到本地环境中。一个简单的工作流程如下:

$ pyvenv environments/roebk

$ source environments/roebk/bin/activate

$ (roebk) pip install south

error: could not create '/usr/local/lib/python3.3/site-packages/south': Permission denied

我已经仔细检查过我正在使用正确版本的pip。

$ pip -V pip 1.4 from /usr/local/lib/python3.3/site-packages/pip-1.4-py3.3.egg (python 3.3)

我错过了什么明显的东西吗?

2 个答案:

答案 0 :(得分:7)

您是否已将setuptoolspip安装到环境中? virtualenv会自动将setuptoolspip安装到新环境中。

$ virtualenv qwerty 
New python executable in qwerty/bin/python
Installing setuptools............done. 
Installing pip...............done.
$ 

根据pyvenv docs,您需要手动将它们安装到新环境中。

  

常见的安装工具,例如Distribute和pip按预期工作   使用venvs - 即当一个venv处于活动状态时,他们会安装Python包   进入venv而不需要被告知明确这样做。的中   当然,你需要先将它们安装到venv中:这可能是   通过运行distribute_setup.py并激活venv来完成,然后执行   通过运行easy_install pip。或者,你可以下载   源代码压缩包并在解压缩后运行python setup.py install   venv激活。

答案 1 :(得分:1)

the official docs之后,我认为Python 3.4会自动安装pip,但看起来,它并没有: 在3.4版中更改:默认安装pip,添加了--without-pip和--copies选项

编辑:不知怎的,我设法使用了该机器上安装的Python3.3.2版本。使用Python3.4,它可以按预期工作。