4

我正在使用 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)

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

4

2 回答 2

7

您是否安装setuptoolspip进入环境?virtualenv安装setuptoolspip自动进入新环境。

$ virtualenv qwerty
qwerty/bin/python 中的新 python 可执行文件
安装 setuptools…………完成。
安装 pip……完成。
$

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

常见的安装工具(例如 Distribute 和 pip)可以按预期与 venv 一起工作 - 即,当 venv 处于活动状态时,它们会将 Python 包安装到 venv 中,而无需被明确告知这样做。当然,您需要先将它们安装到 venv 中:这可以通过在 venv 激活的情况下运行 deploy_setup.py 来完成,然后运行 ​​easy_install pip。或者,您可以下载源 tarball 并在解压后运行 python setup.py install,并激活 venv。

于 2013-08-01T00:47:17.350 回答
1

根据官方文档,我认为 Python 3.4 会自动安装 pip,但似乎并没有: 在 3.4 版中更改:默认安装 pip,添加了 --without-pip 和 --copies 选项

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

于 2014-08-22T13:10:30.237 回答