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