【问题标题】:pip and virtualenv (w/o virtualenvwrapper): pip install package_name gives permission denied but using sudo installs globallypip 和 virtualenv (w/o virtualenvwrapper): pip install package_name 给予权限被拒绝但使用 sudo 全局安装
【发布时间】:2012-07-29 11:04:09
【问题描述】:

我在/usr/local/lib/python2.7/dist-packages 中有neurolab 包版本0.2.0。 现在我想在虚拟环境中安装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

那么我该如何为我的项目安装neurolab0.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 拥有或权限错误(或尚不存在,但/home/username/.pip 有类似问题)。您可以将ls -l /home/username/.pip 的输出添加到您的问题中吗?

标签: python linux installation virtualenv


【解决方案1】:

问题是你的/home/username/.pip/pip.log文件只能被root写,所以当你尝试使用pip作为另一个用户时你没有更新日志文件的权限,整个操作失败了。

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

【讨论】:

  • 谢谢!奇怪我的.pip/pip.log默认有这些权限。
  • 如果日志文件是在您使用 sudo pip … 时创建的,那可能会解释权限。
【解决方案2】:

如果您使用的是 Windows。输入 powershell 或终端:

python -m pip install WHATEVER

【讨论】:

    猜你喜欢
    • 2016-03-12
    • 1970-01-01
    • 2019-10-26
    • 2018-08-15
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 2015-03-12
    • 2016-03-13
    相关资源
    最近更新 更多