簡體   English   中英

在Windows上更改virtualenv文件夾

[英]changing virtualenv folder on windows

在計算機修復我的python項目dir(windows)改變后(比如從d:到f :)。 現在我所有的虛擬現實都被打破了。 激活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路徑

更正ENV_FOLDER\\Lib\\orig-prefix.txt python目錄路徑對我ENV_FOLDER\\Lib\\orig-prefix.txt幫助

好像您的系統和本地環境創建了來自不同版本的python的庫和二進制文件的混合。

您可能需要刪除LibScriptsInclude ,然后再使用virtualenv .重新開始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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM