我正在测试使用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)
我错过了什么明显的东西吗?
答案 0 :(得分:7)
您是否已将setuptools
和pip
安装到环境中? virtualenv
会自动将setuptools
和pip
安装到新环境中。
$ 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,它可以按预期工作。