web-dev-qa-db-fra.com

Erreur «Autorisation refusée» lors de l'utilisation de l'installation de pip dans virtualenv

Edit: FIXED!

Juste eu à chown le répertoire .cache

J'ai essayé les instructions virtualenvwrapper docs , j'ai essayé les instructions de ce type ainsi que ces ... j'ai essayé Sudo pip uninstall virtualenv, Sudo pip uninstall virtualenvwrapper, Sudo pip3 uninstall virtualenv, Sudo pip3 uninstall virtualenvwrapper Avant d'essayer chaque ensemble d'instructions. J'ai regardé d'autres SO messages comme celui-ci , mais le problème de Sudo n'est pas le même que le mien. Par cela, je veux dire que je ne ' t utiliser Sudo lors de la création de virtualenv, et si j'essaie d'utiliser Sudo pour installer un paquet, il me dira simplement que j'ai déjà installé le paquet (en dehors de virtualenv).

J'ai aussi essayé de faire pip install --user virtualenv(wrapper)

Voici ce que j'ai fait:

~ $ 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/

Ensuite, j'ai ajouté ces deux lignes à mon .bashrc: (J'ai également essayé de définir VIRTUALENVWRAPPER_PYTHON Sur /usr/bin/python)

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

Ensuite, j'ai essayé ceci:

~ $ 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'

Pourquoi virtualenv ne peut-il pas simplement fonctionner?

14
aweeeezy

Je pense que si vous faites ça pip install numpy --no-cache-dir ça va marcher.

Si vous exécutez pip --help tu trouveras:

--no-cache-dir Disable the cache.

J'espère que cela pourra aider quelqu'un à l'avenir.

13

vous devez changer le propriétaire du répertoire de pip.

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

6
mescalin