6

在计算机修复后,我的 python 项目目录(windows)发生了变化(比如从 d: 到 f:)。现在我所有的 virtualenvs 都坏了。激活 env 后,virtualenv 中的项目找不到依赖项,并且自定义脚本(来自 env\scripts 文件夹)将不起作用

尝试运行:

virtualenv --relocateble ENV_NAME (with the env name ..)

就像在这个stackoverflow问题中一样,它输出了很多行,例如:

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 路径

4

3 回答 3

22

更正python目录路径ENV_FOLDER\Lib\orig-prefix.txt对我有帮助

于 2014-12-27T13:40:48.073 回答
1

似乎您的系统和本地环境混合了来自不同版本的 python 的库和二进制文件。

您可能需要删除LibScripts然后Include重新开始 virtualenv .。您也许可以保存该site-packages文件夹,但如果您有requirements.txt文件,则可能应该重新安装软件包(另请参阅:如何使用 pip 从本地缓存安装?)。

无论如何,我相信您可以创建一个脚本,一步完成所有这些工作。

于 2013-05-28T19:55:33.443 回答
0

virtualenv xxx我在我的 Windows 10 上安装了 py2 和 py3。直接使用创建 virtualenv 得到了这个错误。清除文件夹 xxx 并重新安装后virtualenv -p TARGET_PY_EXE xxx一切正常。希望这将有助于多个 python windows 用户。顺便说一句,我只是将环境变量创建为 PY2 和 PY3,而不是在PATH.

于 2017-11-27T22:20:28.553 回答