【问题标题】:IOError: [Errno 13] when installing virtualwrapperIOError: [Errno 13] 安装 virtualwrapper 时
【发布时间】:2016-09-17 07:35:55
【问题描述】:

在使用“pip install virtualenv”在终端中成功安装 virtualenv 后,我尝试使用“pip install virtualenvwrapper”安装 virtualwrapper,但某些代码以红色而不是通常的白色显示似乎出了点问题。大约有 20-30 行代码,本质上是这样的:

安装收集的包:virtualenv-clone、pbr、stevedore、virtualenvwrapper

例外:

Traceback(最近一次调用最后一次):

然后是显示的文件路径列表,后跟..

IOError: [Errno 13] 权限被拒绝: '/usr/local/lib/python2.7/dist-packages/clonevirtualenv.py'

有谁知道可能出了什么问题以及我该如何解决?

谢谢

【问题讨论】:

    标签: python virtualenvwrapper errno ioerror


    【解决方案1】:

    当涉及权限问题时,您可以尝试使用 sudo(超级用户)。

    如果是 Linux,

    $ sudo pip install virtualenvwrapper

    如果是 Windows,

    使用管理员权限打开 cmd,然后,

    pip install virtualenvwrapper

    【讨论】:

    • 我想知道是否使用 sudo。我应该使用 sudo 安装 virtualenv 并在没有 sudo 的情况下安装 virtualenvwrapper 吗?如果我已经在没有 sudo 的情况下安装了这些,我需要先卸载它们吗?我也想知道问题的一部分是否是我需要为要安装的程序设置适当的目录位置
    • 我尝试 sudo pip install virtualenv 并得到以下消息目录'/home/rf/.cache/pip/http'或其父目录不属于当前用户并且缓存有被禁用。请检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的 -H 标志。
    • 然后我尝试了 sudo pip install virtualenvwrapper 并得到以下错误目录'/home/rf/.cache/pip/http'或其父目录不属于当前用户并且缓存有被禁用。请检查该目录的权限和所有者。如果使用 sudo 执行 pip,您可能需要 sudo 的 -H 标志。找不到满足 virtualenvwrapper 要求的版本(来自版本:)没有找到 virtualenvwrapper 的匹配分发
    • 如果您不喜欢使用 sudo 安装,请使用 virtualenvvirtualwrapper。这是一种简单有效的解决方案。
    • 如果需要,我很乐意使用 Sudo 进行安装。我想以正确的方式安装它。我只是不确定我无法安装 virtualenvwrapper 的原因是因为我在没有 sudo 的情况下安装了 virtualenv
    【解决方案2】:

    首先,卸载virtualenv

    # you might need to use sudo depending on how you installed it
    pip uninstall virtualenv  
    

    然后,使用 sudo 安装 virtualenvwrapper

    sudo pip install virtualenwrapper
    

    由于 virtualenvwrapper 在其依赖项中包含 virtualenv,它会负责安装它 - 无需手动进行。

    【讨论】:

    • 感谢您的回复,听起来这将是一个很好的解决方案,但是我想知道我现在是否还需要这样做,因为我使用“pip install virtualenvwrapper -user”成功安装了 virtualenvwrapper 并且没有错误上来了。我想知道是否可以使用 sudo 安装 virtualenv 或 virtualenvwrapper。当我尝试使用这些程序或按原样正确安装它时,我会遇到问题吗?如果是这样我不会改变它,否则我会尝试你的想法
    • 我觉得可能行得通,但是我自己没试过,所以后面会不会遇到问题有点难说@RFb
    • 好的。如果我遇到问题,我将卸载 virtualenvwrapper 和 virtualenv 并使用 sudo 重新安装。希望它有效,再次感谢
    【解决方案3】:

    您应该通过系统包管理器安装 virtualenvwrapper。

    Fedora 上的 dnf install python-virtualenvwrapper 或 Debian/Ubuntu 上的 apt-get install virtualenvwrapper

    【讨论】:

    • 感谢您的回复,这可能会更容易,但现在已安装。我有 lubuntu
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2013-05-02
    • 2016-02-28
    • 2023-04-10
    • 2017-11-05
    相关资源
    最近更新 更多