我目前在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机器上编辑代码,这就是我使用共享文件夹的原因。
感谢。
答案 0 :(得分:5)
virtualenv不需要位于代码旁边,因此即使您无法在共享文件夹中创建它,也不会影响您在Windows上编辑代码并在主机平台上运行代码的能力。无论如何,尝试与多个平台共享特定于平台的文件对我来说听起来像个坏主意。
这是.pth文件的有用性,如果您在项目中使用setupto与setupto,只需$VENV/python setup.py develop
即可将项目链接到virtualenv,无论它位于何处。然后,您可以运行$VENV/python
,您的软件包将位于sys.path
并可供导入。