[英]pip freeze does not show all installed packages
我正在使用virtualenv
。 我安裝了fabric
,帶有pip
。 但是pip freeze
並沒有給出任何提示。 package 在我的virtualenv
中,但 pip 對此保持沉默。 為什么會這樣? 有什么辦法調試這個?
我只是自己試過這個:
在“env”目錄中創建一個 virtualenv:
$virtualenv2.7 --distribute env
New python executable in env/bin/python
Installing distribute....done.
Installing pip................done.
接下來,激活虛擬環境:
$source env/bin/activate
提示改變了。 現在安裝結構:
(env)$pip install fabric
Downloading/unpacking fabric
Downloading Fabric-1.6.1.tar.gz (216Kb): 216Kb downloaded
Running setup.py egg_info for package fabric
...
Successfully installed fabric paramiko pycrypto
Cleaning up...
pip freeze
顯示正確的結果:
(env)$pip freeze
Fabric==1.6.1
distribute==0.6.27
paramiko==1.10.1
pycrypto==2.6
wsgiref==0.1.2
也許您忘記激活虛擬環境? 在 *nix 控制台類型which pip
要找出which pip
。
盡管您的問題是由於拼寫錯誤造成的,但為了幫助其他用戶:
pip freeze
不顯示 pip 依賴的依賴項。 如果要獲取所有包,可以使用pip freeze --all
或pip list
。
您可以嘗試使用--all
標志,如下所示:
pip freeze --all > requirements.txt
如果您已將所有預安裝的軟件包重定向到名為pip-requirements.txt的文件中,那么解決上述問題非常簡單。
1) 刪除您的 virtualenv 文件夾或創建一個新文件夾(我將其命名為venv )
rm -rf venv && virtualenv venv
2) 從pip-requirements.txt安裝所有需求/依賴項
pip install -r pip-requirements.txt
3) 現在您可以檢查 Django 應用程序的已安裝包
pip freeze
4)如果你忘記更新你的需求文件( pip-requirements.txt ),那么再次安裝fabric (可選步驟)
注意:為您的Django應用程序安裝任何依賴項后,請始終按如下方式更新任何文件中的要求(確保您的virtualenv已激活)
pip freeze > pip requirements.txt
而已。
除了上述修復程序之外,還添加了我的修復程序,我在 Windows 上也遇到了同樣的問題,即使在激活 virtualenv 之后pip freeze
也沒有給我所有已安裝軟件包的列表。 所以我用python -m pip install --upgrade pip
命令升級了我的 pip,然后使用了pip freeze
。 這次它起作用了,並給了我所有已安裝軟件包的列表。
如果以上答案都不適合您。 和我一樣,你的 venv 和 pip 配置可能有問題。
進入你的 venv/bin 並打開 pip 並看到第二行: '''exec' "path/to/yourvenv/bin/python3" "$0" "$@"
看看這條線是否正確指向你的 venv 內部例如在我的情況下。 我最初將我的虛擬環境命名為 venv1,后來只是將其重命名為 venv2。 這樣做時,我的 pip 文件第二行有: '''exec' "venv1/bin/python3" "$0" "$@"正常工作應該有: '''exec' "venv2/bin/python3" "$0 " "$@"注意"venv2"而不是"venv1",因為 venv1 現在更名為 venv2。
由於這個 python 正在查看 venv2 的 pip 並拋出錯誤或無法按預期工作。
對於那些通過 PyCharm IDE 添加 Python 模塊的人,在從命令提示符生成虛擬環境后,祝你好運。 您將需要通過首先運行 pip3 freeze 並添加 PyCharm 中缺少的內容來手動重建 requirements.txt 文件。
我強烈建議切換到 Visual Studio Code。
這可能很愚蠢,但我遇到了同樣的問題。 我通過刷新 vs 代碼文件目錄來解決它(在 vscode 里面有一個重新加載按鈕)。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.