2
我想創建一個不使用符號鏈接到本地系統的virtualenv,因爲我希望將virtualenv(包括第三方包)與我的應用程序捆綁在一起。這是可能的 - 如果是這樣,如何?創建沒有符號鏈接的virtualenv
例如,在我的Mac OS X 10.10.2,我產生任何的virtualenv包含符號鏈接:
.Python -> /System/Library/Frameworks/Python.framework/Versions/2.7/Python
如果我直接在網絡服務器上創建共享我的virtualenv與--always-copy
我得到一個錯誤:
$ virtualenv --always-copy python2.7.9_win7-64_stalker0.2.13
New python executable in python2.7.9_win7-64_stalker0.2.13/bin/python
Traceback (most recent call last):
File "/usr/local/bin/virtualenv", line 11, in <module>
sys.exit(main())
File "/Library/Python/2.7/site-packages/virtualenv.py", line 825, in main
symlink=options.symlink)
File "/Library/Python/2.7/site-packages/virtualenv.py", line 985, in create_environment
site_packages=site_packages, clear=clear, symlink=symlink))
File "/Library/Python/2.7/site-packages/virtualenv.py", line 1374, in install_python
symlink)
File "/Library/Python/2.7/site-packages/virtualenv.py", line 482, in copyfile
copyfileordir(src, dest, symlink)
File "/Library/Python/2.7/site-packages/virtualenv.py", line 456, in copyfileordir
shutil.copy2(src, dest)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
copystat(src, dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
os.chflags(dst, st.st_flags)
OSError: [Errno 22] Invalid argument: 'python2.7.9_win7-64_stalker0.2.13/.Python'
不知道發生了什麼,但你真的不應該使用系統python的任何東西。 (另外,我不知道你已經安裝了什麼 - 我的10.10.2系統virtualenv甚至不能識別-always-copy選項。)我的建議是pyenv或自制軟件(或兩者兼而有之,pyenv-virtualenv也很有用)。首先在正常音量(不是網絡共享)上嘗試它,看看它是否以這種方式工作。 – letitbee 2015-03-03 09:42:13
@letitbee - 正常音量不會導致錯誤,並且--always-copy被識別。謝謝。正如接受的答案中所建議的那樣,我也將使用Platter來研究解釋器的正確包裝。 – fredrik 2015-03-03 09:43:35