pip和virtualenv(不带virtualenvwrapper):pip install package_name授予权限被拒绝,但全局使用sudo安装


问题内容

我有neurolab包版本0.2.0/usr/local/lib/python2.7/dist- packages。现在,我想在虚拟环境中安装neurolab版本0.1.0

这是在安装pip和virtualenv之后:

~$ mkdir neuro_env
~$ cd neuro_env
~/neuro_env$ virtualenv envi
~/neuro_env$ source envi/bin/activate
(envi)~/neuro_env$ pip install neurolab==0.1.0

然后安装失败,并在错误结尾显示以下行:

IOError: [Errno 13] Permission denied: '/home/username/.pip/pip.log'

但是当我使用这样的权限安装它时:

(envi)~/neuro_env$ sudo pip install neurolab==0.1.0

然后,版本0.1.0再次重新全局安装(在中/usr/local/lib/python2.7/dist-packages

我读到我可以使用-E标志,但这似乎不再可行: error: no such option: -E

那么,如何只为我的项目安装neurolab版本?0.1.0``~/neuro_env

编辑

(envi)~/neuro_env$ ls -l /home/username/.pip
total 4
-rw-r--r-- 1 root root 874 2012-07-28 13:18 pip.log

问题答案:

问题在于您的/home/username/.pip/pip.log文件只能由root用户写入,因此当您尝试以pip其他用户身份使用时,您无权更新日志文件,并且整个操作失败。

更改日志文件的所有权(使用sudo chown username:username /home/username/.pip/pip.log)或将其删除(使用sudo rm /home/username/.pip/pip.log)应该可以解决您的问题。