在电脑修复后,我的python项目目录(windows)改变了(比如从d:到f:)。现在我所有的虚拟环境都坏了。激活env后,virtualenv中的项目无法找到依赖项,自定义脚本(从envscripts文件夹)将无法工作
尝试运行:
virtualenv --relocateble ENV_NAME (with the env name ..)
,比如在这个stackoverflow问题中,它输出了很多行,比如:
Script agentScriptsdeactivate.bat cannot be made relative
和我的虚拟环境仍然是坏的。
当我手动更改activate.bat set VIRTUAL_ENV
到新路径时。有些脚本又可以工作了。但是重新定位脚本仍然不运行,大多数脚本仍然是坏的
即使运行python interpeter也会失败:
Traceback (most recent call last):
File "F:Python27learnagentagentlibsite.py", line 677, in <module>
main()
File "F:Python27learnagentagentlibsite.py", line 666, in main
aliasmbcs()
File "F:Python27learnagentagentlibsite.py", line 506, in aliasmbcs
import locale, codecs
File "F:Python27learnagentagentliblocale.py", line 19, in <module>
import functools
ImportError: No module named functools
有办法解决这个问题吗?帮助
更新:我还手动更改了ENV scripts中所有脚本中的shebang python interpeter行。现在所有的python都失败了
另一个更新:到@udi的系统python路径是:
['', 'C:\dev\Python27\lib\site-packages\distribute-0.6.37-py2.7.egg', 'C:\
dev\Python27\lib\site-packages\pip-1.3.1-py2.7.egg', 'C:\dev\Python27\lib
\site-packages\numpy-1.7.1-py2.7-win32.egg', 'C:\dev\Python27\lib\site-pac
kages\pandas-0.11.0-py2.7-win32.egg', 'C:\dev\Python27\lib\site-packages\p
ytz-2013b-py2.7.egg', 'C:\dev\Python27\lib\site-packages\python_dateutil-2.
1-py2.7.egg', 'C:\dev\Python27\lib\site-packages\six-1.3.0-py2.7.egg', 'C:
dev\Python27\lib\site-packages\tornado-3.0.1-py2.7.egg', 'C:\dev\Python27
\lib\site-packages\pyzmq-13.1.0-py2.7-win32.egg', 'C:\dev\Python27\lib\si
te-packages\pygments-1.6-py2.7.egg', 'C:\Windows\system32\python27.zip', 'C:
\dev\Python27\DLLs', 'C:\dev\Python27\lib', 'C:\dev\Python27\lib\plat-
win', 'C:\dev\Python27\lib\lib-tk', 'C:\dev\Python27', 'C:\dev\Python27
lib\site-packages', 'C:\dev\Python27\lib\site-packages\setuptools-0.6c11-
py2.7.egg-info']
因为我不能从virtualenv中运行python,所以我不能从那里打印python路径
在ENV_FOLDERLiborig-prefix.txt
中纠正python目录路径帮助了我
似乎您的系统和本地环境创建了来自不同版本python的库和二进制文件。
您可能需要删除Lib
, Scripts
和Include
,并重新开始virtualenv .
。您可能能够保存site-packages
文件夹,但如果您有requirements.txt
文件,则可能应该重新安装软件包(参见:如何使用pip从本地缓存安装?).
无论如何,我相信你可以创建一个脚本一步完成所有这些。
我在windows 10上安装了py2和py3。通过直接使用virtualenv xxx
创建virtualenv得到了这个错误。在清除文件夹xxx并重新安装virtualenv -p TARGET_PY_EXE xxx
后,一切工作顺利。希望这将有助于多个python windows用户。顺便说一下,我只是将env变量创建为PY2和PY3,而不是在PATH
中添加绝对路径。