2012-01-03 61 views
4

我目前在運行Windows機器的VMWare中使用Linux VM。我有我的項目共享的Windows文件夾,我在linux通過的/ mnt/HGFS /訪問在共享Windows文件夾中使用VMWare中的virtualenv

當我嘗試,我得到一個使用的virtualenv我的Python項目「不支持操作」的錯誤:

[email protected]:/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機器上編輯我的代碼,這就是我使用共享文件夾的原因。

謝謝。

回答

5

virtualenv不需要位於代碼旁邊,所以即使您無法在共享文件夾中創建它,這也不會影響您在Windows上編輯代碼並在主機平臺上運行代碼的能力。無論如何,試圖在多個平臺上共享特定於平臺的文件對我來說似乎是個壞主意。

這是.pth文件的用處,如果您在項目中使用setuptools和setup.py,則只需$VENV/python setup.py develop即可將項目鏈接到virtualenv,無論它位於何處。然後,您可以運行$VENV/python,並且您的軟件包將位於sys.path中,並可供導入。

+0

完美!非常感謝。 – GivP 2012-01-03 11:54:23

+0

@MichaelMerickel謝謝你這個答案,它幫了我,但是我無法從python網站找到任何有關這方面的文檔,我對如何完全做到這一點感到困惑。你能否詳細說明你的答案?謝謝 – 2017-09-13 03:59:01

相關問題