PEP 668 – base 增強提案 (PEP)
解決方案方案一、(粗暴) 去掉這個提示
強制删除此警告,回歸到熟悉的操作。
将 “x” 替換為實際版本。
1
sudomv/usr/lib/python3.x/EXTERNALLY-MANAGED/usr/lib/python3.x/EXTERNALLY-MANAGED.bk
和之前一樣,現在您可以直接運行 pip(3) 命令來安裝模塊。
方案二、(推薦) 使用pipx
您在上面看到的涉及手動工作。Pipx 使其自動化。
它會自動為您安裝的每個應用程序創建一個新的虛拟環境。不僅。它還在 中創建指向它的鍊接.local/bin。這樣,安裝該軟件包的用戶就可以從命令行中的任何位置運行它。
我想這就是大多數桌面 Linux 用戶想要的。
使用以下命令在 上安裝 pipx:
1
sudoaptinstallpipx
它可能會安裝大量的依賴項:
現在将其添加到 PATH 中,以便您可以從任何地方運行。
1
pipxensurepath
提示:您必須關閉終端并重新登錄才能發生更改。
現在我們可以使用 Pipx 而不是 Pip 安裝 包:
1
pipxinstallpackage_name
這個是一個例子:
提示:要删除使用 pipx 安裝的軟件包,請使用 pipx 命令。
方案三、(高階) 使用venv
如果您是開發人員,
在運行或構建py文件時遇到如下圖 : No named 'xxx'的錯誤,
推薦切換為該方案,即使用虛拟環境。
借助虛拟環境,您可以使用不同版本的包依賴項和。這樣,您就可以避免包之間的任何沖突。
這種方法适合從事項目的軟件開發人員和程序員。
安裝 venv
1 2 3 4 5 6 7
sudoaptinstallpython3-venv #或 sudoaptinstallpython3.10-venv
生成一個虛拟環境
1
mkdir-p$HOME/.env&&python3-mvenv$HOME/.env/project_name
現在,您将看到一個.env在您的主目錄中,并且在 .env 中,您将擁有項目目錄。
每個虛拟環境項目目錄中都會有自己的 和 Pip 副本。
安裝模塊,如
1 2
$HOME/.env/project_name/bin/python-mpipinstall--upgradepip $HOME/.env/project_name/bin/python-mpipinstallalgoliasearch
用新的虛拟環境執行py文件
1 2
source$HOME/.env/project_name/bin/activate $HOME/.env/project_name/bin/python./demo.py
這隻是 虛拟環境的一個簡短示例。如果您想了解更多信息,這裡有一份詳細指南。
在本教程中,您将學習如何使用 虛拟環境來管理 項目。您還将深入了解使用 venv 模塊構建的虛拟環境的結構,以及使用虛拟環境背後的原因環境背後的原因。
方案四、(其他) 使用原生包
據我所知,Pip 提供了一種安裝 包的舒适方法。然而,一些應用程序也打包為APT或其他本機包。在您的發行版存儲庫中搜索它并從那裡安裝它(如果可用)。
例如,我試圖安裝 -ng。如果我使用 Arch Linux,AUR 也提供相同的軟件包。
結論
Pip 是一個在系統上獲取 包的好工具。個人認為它始終是為 程序員設計的,而不是為最終用戶設計的。顯然它不能用作原生發行包的替代品, 開發人員已經明确表示了這一點。
當然最新的改動的好處是,程序員和最終用戶都有替代方案。
希望本文可以幫助您理解并克服 Linux 中 Pip 的外部管理環境錯誤。
如果您有疑問或建議,歡迎留言交流。
有話要說...