【发布时间】:2013-05-23 02:01:12
【问题描述】:
在计算机修复后,我的 python 项目目录(windows)发生了变化(比如从 d: 到 f:)。 现在我所有的 virtualenvs 都坏了。激活 env 后,virtualenv 中的项目找不到依赖项,并且自定义脚本(来自 env\scripts 文件夹)将不起作用
试运行:
virtualenv --relocateble ENV_NAME (with the env name ..)
就像在这个stackoverflow question 中一样,它输出了很多行,例如:
Script agent\Scripts\deactivate.bat cannot be made relative
我的 virtualenv 还是坏了。
当我手动将 activate.bat set VIRTUAL_ENV 更改为新路径时。一些脚本再次起作用。但是重定位脚本仍然没有运行,并且大部分脚本仍然损坏
即使运行 python interpeter 也会失败:
Traceback (most recent call last):
File "F:\Python27\learn\agent\agent\lib\site.py", line 677, in <module>
main()
File "F:\Python27\learn\agent\agent\lib\site.py", line 666, in main
aliasmbcs()
File "F:\Python27\learn\agent\agent\lib\site.py", line 506, in aliasmbcs
import locale, codecs
File "F:\Python27\learn\agent\agent\lib\locale.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 路径
【问题讨论】:
-
你改变了你的python版本或平台吗?
-
可以添加
python>import sys>sys.path的打印输出吗? -
是的,新系统有更新版本的python(我认为,不确定)。将系统python sys.path添加到问题中
-
这是你virtualenv下的
sys.path吗? -
@Udi 不,我无法直接从 virtualenv 中的 python 获取 sys 路径,因为我无法让 python 解释器在 env 中运行。但我会发布 PYTHONPATH
标签: python virtualenv virtualenv-commands