Использование virtualenv в VMWare с общей папкой Windows - PullRequest
4 голосов
/ 03 января 2012

В настоящее время я использую виртуальную машину Linux в VMWare, работающую на компьютере с Windows. У меня есть общая папка Windows для моих проектов, к которой я обращаюсь в Linux через / mnt / hgfs /

Когда я пытаюсь использовать virtualenv для своих проектов на python, я получаю ошибку «Операция не поддерживается»:

joe@myserver:/mnt/hgfs/winwww/envtest# virtualenv env
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 9, in <module>
    load_entry_point('virtualenv==1.7', 'console_scripts', 'virtualenv')()
  File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 928, in main
    never_download=options.never_download)
  File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1029, in create_environment
    site_packages=site_packages, clear=clear))
  File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1164, in install_python
    copyfile(join(stdlib_dir, fn), join(lib_dir, fn))
  File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 430, in copyfile
    copyfileordir(src, dest)
  File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 405, in copyfileordir
    shutil.copytree(src, dest, True)
  File "/usr/lib/python2.6/shutil.py", line 173, in copytree
    raise Error, errors
shutil.Error: [('/usr/lib/python2.6/config/libpython2.6.so', 'env/lib/python2.6/config/libpython2.6.so', '[Errno 95] Operation not supported')]

Я предполагаю, что это связано с тем, что Windows не может обрабатывать символические ссылки, потому что я могу создавать свои virtualenvs в других каталогах.

Кто-нибудь разработал способ заставить virtualenv работать в общих папках Windows? Я редактирую свой код на своем компьютере с Windows, поэтому я использую общие папки.

Спасибо.

1 Ответ

5 голосов
/ 03 января 2012

virtualenv не обязательно должен находиться рядом с вашим кодом, поэтому даже если вы не можете создать его в общей папке, это не должно влиять на вашу способность редактировать код в Windows и запускать его на платформе хоста.В любом случае мне кажется плохой идеей пытаться обмениваться файлами для разных платформ с несколькими платформами.

Это полезность файлов .pth, и если вы используете setuptools с файлом setup.py внутриПроект вы можете просто $VENV/python setup.py develop, который свяжет ваш проект в virtualenv, где бы он ни находился.Затем вы можете запустить $VENV/python, и ваш пакет будет в sys.path и доступен для импорта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...