web-dev-qa-db-fra.com

Erreur "OSError: [Errno 13] permission refusée"

J'essaye de créer un environnement virtualenv mais je suis rencontré par cette erreur:

user@mylaptop:~$ virtualenv -p ~/Public/Programming/project1/
Running virtualenv with interpreter /home/user/Public/Programming/Project1/
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 9, in <module>
    load_entry_point('virtualenv==12.0.6', 'console_scripts', 'virtualenv')()
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 784, in main
    popen = subprocess.Popen([interpreter, file] + sys.argv[1:], env=env)
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 13] Permission denied

Que dois-je faire?

6
Alireza Ghaffari

Vous n'avez pas spécifié l'interpréteur Python à utiliser pour créer votre environnement virtuel dans le répertoire ~/Public/Programming/project1/.

De man virtualenv:

-p PYTHON_EXE,--python=PYTHON_EXE
The Python interpreter to use to create the new environment.

L'option -p s'attend à ce que le prochain argument soit l'interpréteur python sur lequel le nouvel environnement serait basé. Mais vous avez manqué cet argument et virtualenv pense que vous souhaitez baser votre environnement sur un interpréteur ~/Public/Programming/project1/. Mais il n'y a pas d'interprète disponible là-bas et vous obtenez donc OSError.

Si vous voulez utiliser Python 2.7, la commande correcte serait:

virtualenv -p python2.7 ~/Public/Programming/project1/

et pour Python 3.4, ce serait:

virtualenv -p python3.4 ~/Public/Programming/project1/
1
Aditya