在virtualen中使用pip安装时出现“权限被拒绝”错误

2024-05-14 06:51:22 发布

您现在位置:Python中文网/ 问答频道 /正文

编辑:修正!

只需修改.cache目录

我试过virtualenvwrapper docs指令,也试过this guy's instructionsthese…我试过sudo pip uninstall virtualenv 在尝试每一组指令之前,sudo pip uninstall virtualenvwrappersudo pip3 uninstall virtualenvsudo pip3 uninstall virtualenvwrapper。我看过其他类似this one这样的帖子,但是sudo的问题和我自己的不一样。我的意思是,我在制作virtualenv时不使用sudo,如果我尝试使用sudo来pip安装一个包,它只会说我已经安装了这个包(在virtualenv之外)。

我也试过做pip install --user virtualenv(wrapper)

以下是我所做的:

~ $ sudo pip3 install virtualenv
Downloading/unpacking virtualenv
  Downloading virtualenv-13.0.3-py2.py3-none-any.whl (1.7MB): 1.7MB downloaded
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...
~ $ mkdir ~/.virtualenvs
~ $ sudo pip3 install virtualenvwrapper
Downloading/unpacking virtualenvwrapper
  Downloading virtualenvwrapper-4.5.1-py2.py3-none-any.whl
Requirement already satisfied (use --upgrade to upgrade): virtualenv-clone in /usr/local/lib/python3.4/dist-packages (from virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): stevedore in /usr/local/lib/python3.4/dist-packages (from virtualenvwrapper)
Requirement already satisfied (use --upgrade to upgrade): virtualenv in /usr/local/lib/python3.4/dist-packages (from virtualenvwrapper)
Installing collected packages: virtualenvwrapper
Successfully installed virtualenvwrapper
Cleaning up...
~ $ export WORKON_HOME=~/.virtualenvs/

然后我将这两行代码添加到.bashrc中:(我还尝试将VIRTUALENVWRAPPER_PYTHON设置为/usr/bin/python

source /usr/local/bin/virtualenvwrapper.sh
VIRTUALENVWRAPPER_PYTHON='/usr/bin/python3'

接下来我试了一下:

~ $ mkvirtualenv test
New python executable in test/bin/python
Installing setuptools, pip, wheel...done.
(test)~ $ pip install numpy
Collecting numpy
  Using cached numpy-1.9.2.tar.gz
Building wheels for collected packages: numpy
Exception:
Traceback (most recent call last):
  File "/home/aweeeezy/.virtualenvs/test/local/lib/python2.7/site-packages/pip/basecommand.py", line 223, in main
    status = self.run(options, args)
  File "/home/aweeeezy/.virtualenvs/test/local/lib/python2.7/site-packages/pip/commands/install.py", line 291, in run
    wb.build(autobuilding=True)
  File "/home/aweeeezy/.virtualenvs/test/local/lib/python2.7/site-packages/pip/wheel.py", line 754, in build
    ensure_dir(output_dir)
  File "/home/aweeeezy/.virtualenvs/test/local/lib/python2.7/site-packages/pip/utils/__init__.py", line 70, in ensure_dir
    os.makedirs(path)
  File "/home/aweeeezy/.virtualenvs/test/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/home/aweeeezy/.virtualenvs/test/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/home/aweeeezy/.virtualenvs/test/lib/python2.7/os.py", line 150, in makedirs
    makedirs(head, mode)
  File "/home/aweeeezy/.virtualenvs/test/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/home/aweeeezy/.cache/pip/wheels/4b'

为什么virtualenv不能工作?


Tags: pipinpytesthomevirtualenvlibpackages
2条回答

我认为如果你那样做,它会起作用的。

如果运行pip --help,您将发现:

--no-cache-dir Disable the cache.

希望对将来的人有帮助。

您需要更改pip目录的所有者。

运行chown -R <user>:<group> /home/aweeeezy/.cache/pip

相关问题 更多 >

    热门问题