在VMWare中使用带有共享Windows文件夹的virtualenv

时间:2012-01-03 10:30:39

标签: python linux vmware virtualenv

我目前在Windows机器上运行的VMWare中使用Linux VM。我有一个共享的Windows文件夹,我通过/ mnt / hgfs /

在linux中访问我的项目

当我尝试将virtualenv用于我的python项目时,我得到一个'Operation not supported'错误:

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 个答案:

答案 0 :(得分:5)

virtualenv不需要位于代码旁边,因此即使您无法在共享文件夹中创建它,也不会影响您在Windows上编辑代码并在主机平台上运行代码的能力。无论如何,尝试与多个平台共享特定于平台的文件对我来说听起来像个坏主意。

这是.pth文件的有用性,如果您在项目中使用setupto与setupto,只需$VENV/python setup.py develop即可将项目链接到virtualenv,无论它位于何处。然后,您可以运行$VENV/python,您的软件包将位于sys.path并可供导入。