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
)应该可以解决您的问题。