web-dev-qa-db-fra.com

Problèmes d'installation de Virtualenv et VirtualenvWrapper dans 13.04

Serveur Ubuntu dans VirtualBox. J'essaie d'installer VirtualEnv pour commencer à apprendre Flask and bottle. Quelques détails de ma configuration.

vks@UbSrVb:~$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="12.04.2 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.2 LTS)"
VERSION_ID="12.04"

vks@UbSrVb:~$ python --version
Python 2.7.3
vks@UbSrVb:~$ echo $VIRTUALENVWRAPPER_PYTHON
/usr/bin/python
vks@UbSrVb:~$ echo $VIRTUALENV_PYTHON

vks@UbSrVb:~$

Lorsque je démarre ma machine virtuelle, le message d'erreur suivant s'affiche sur ma console

/usr/bin/python: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks. 

If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenv has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly.

Quand j'essaye d'initialiser un virtualenv, j'obtiens les erreurs suivantes

vks@UbSrVb:~/dropbox/venv$ virtualenv try1
New python executable in try1/bin/python3.2
Also creating executable in try1/bin/python
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 9, in <module>
    load_entry_point('virtualenv==1.9.1', 'console_scripts', 'virtualenv')()
  File "/usr/local/lib/python3.2/dist-packages/virtualenv.py", line 979, in main
    no_pip=options.no_pip)
  File "/usr/local/lib/python3.2/dist-packages/virtualenv.py", line 1081, in create_environment
    site_packages=site_packages, clear=clear))
  File "/usr/local/lib/python3.2/dist-packages/virtualenv.py", line 1499, in install_python
    os.symlink(py_executable_base, full_pth)
OSError: [Errno 30] Read-only file system


vks@UbSrVb:~/dropbox/venv$ ls
try1
vks@UbSrVb:~/dropbox/venv$ ls try1/
bin  include  lib
vks@UbSrVb:~/dropbox/venv$ 

Mes entrées .bashrc

export WORKON_HOME='~/dropbox/venv/'
source '/usr/local/bin/virtualenvwrapper.sh'

Q1 - Conformément à l'erreur au démarrage, comment puis-je m'assurer que virtualenv est installé pour VIRTUALENVWRAPPER_PYTHON =/usr/bin/python et que PATH est défini correctement?
Q2 - Même avec Sudo, je reçois le même message d'erreur "Système de fichiers en lecture seule"?

J'ai essayé d'installer virtualenv en utilisant pip puis apt-get, juste pour frapper et essayer.

2
Vivek Sharma

Vous essayez d'installer un virtualenv sur un point de montage qui ne supporte pas liens symboliques . Si vous regardez le résultat de mount, vous verrez un point de montage à /home/yourusername/dropbox. Essayez un autre emplacement, tel que votre répertoire personnel:

cd 
virtualenv --python=python2.7 flaskenv

(note: actuellement flask ne fonctionne que sur python 2)

De toute façon, il est inutile de synchroniser le vritualenv sur la boîte de dépôt. Cela ne fonctionnera sur un autre système que s'il est identique. Vous pouvez synchroniser virtualenvs à l’aide de pip fichiers exigences.txt .

2
GuySoft