3 回答

TA貢獻2016條經(jīng)驗 獲得超9個贊
我相信“知道為什么”比“知道如何”更重要。因此,這是解決此問題的另一種方法。
運行時. env/bin/activate,它實際上執(zhí)行以下命令(/tmp例如,使用):
VIRTUAL_ENV="/tmp/myproject/env"
export VIRTUAL_ENV
但是,您剛剛將重命名myproject為project,因此該命令無法執(zhí)行。這就是為什么這樣說的原因pip is not installed,因為您尚未安裝pip在系統(tǒng)全局環(huán)境中,并且您的virtualenv pip來源不正確。
如果要手動修復此問題,請采用以下方法:
使用您喜歡的Vim編輯器,/tmp/project/env/bin/activate通常在第42行進行修改:
VIRTUAL_ENV='/tmp/myproject/env' => VIRTUAL_ENV='/tmp/project/env'
/tmp/project/env/bin/pip在第1行中進行修改:
#!/tmp/myproject/env/bin/python => #!/tmp/project/env/bin/python
之后,env再次激活您的虛擬環(huán)境,您將看到自己pip又回來了。

TA貢獻1906條經(jīng)驗 獲得超3個贊
Virtualenvs很棒,因為它們易于制作和切換。它們可以防止您陷入單一配置中。如果您知道項目要求或可以得到它們,請新建一個virtualenv:
建立requirements.txt檔案
(env)$ pip freeze > requirements.txt
如果您無法創(chuàng)建requirements.txt文件,請env/lib/pythonX.X/site-packages在刪除原始文件之前進行檢查env。
刪除現(xiàn)有的 (env)
deactivate && rm -rf env
創(chuàng)建一個新的virtualenv,激活它并安裝需求
virtualenv env && . env/bin/activate && pip install -r requirements.txt
或者,使用virtualenvwrapper使事情變得簡單一些,因為所有virtualenv都保存在集中位置
$(old-venv) pip freeze > temp-reqs.txt
$(old-venv) deactivate
$ mkvirtualenv new-venv
$(new-venv) pip install -r temp-reqs.txt
$(new-venv) rmvirtualenv old-venv
添加回答
舉報