[英]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的庫和二進制文件的混合。
您可能需要刪除Lib
, Scripts
和Include
,然后再使用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.