Проблемы с установкой Virtualenv и VirtualenvWrapper в 13.04

Сервер Ubuntu в VirtualBox. Я пытаюсь установить VirtualEnv, чтобы начать изучать Flask и бутылку. Некоторые детали моей настройки.

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

Когда я загружаю свою виртуальную машину, я получаю следующую ошибку на моей консоли

/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.

Когда я пытаюсь инициализировать virtualenv, я получаю следующие ошибки

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$ 

Мои записи.bashrc

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

Q1 - В соответствии с ошибкой при загрузке, как я могу убедиться, что virtualenv установлен для VIRTUALENVWRAPPER_PYTHON=/usr/bin/python и что PATH установлен правильно?
Q2 - Даже с sudo я получаю ту же ошибку "Файловая система только для чтения"?

Я попытался установить virtualenv с помощью pip, а затем apt-get, просто чтобы попробовать и попробовать.

1 ответ

Решение

Вы пытаетесь установить virtualenv на точку монтирования, которая не поддерживает символические ссылки. Если вы посмотрите на вывод mount вы увидите, имеет некоторую точку монтирования в /home/yourusername/dropbox, Попробуйте другое местоположение, например, домашний каталог:

cd 
virtualenv --python=python2.7 flaskenv

(примечание: в настоящее время колба работает только на Python 2)

В любом случае, нет смысла синхронизировать vritualenv в dropbox. Он не будет работать в другой системе, если он не идентичен. Вы можете синхронизировать между virtualenvs, используя файлы pip needs.txt.

Другие вопросы по тегам