Arch-Linux

在 Arch 上安裝 python 包的推薦方式

  • October 2, 2021

在 Arch 上安裝 python 包的推薦方式是什麼?在 AUR 上搜尋它們並從那里安裝它們(或創建一個PKGBUILD文件來自己製作一個包)或使用pip?

我從安裝 pacman 和 AUR 的東西開始,不知道與pip軟體包混合是否明智。

如果您不需要所有使用者的 python 包,那麼您可以像這樣將它們安裝在您的家中:

pip install --user packagename

在家中安裝不會與包管理器衝突。

預設情況下pip install --user將安裝在您的“使用者站點”目錄中。通常是這樣的:/home/lesmana/.local/lib/python3.6/site-packages.

以下命令將列印您的“使用者站點”位置:

python -m site

要自定義安裝位置:

PYTHONUSERBASE=$HOME/some/dir pip install --user packagename

這將安裝所有內容$HOME/some/dir

跑步:

PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname

有關更多資訊,請參閱pip 手冊


如果您確實想要所有使用者的 python 包,那麼安裝它的最佳位置是/opt. 例如像這樣:

PYTHONUSERBASE=/opt/packagedir pip install packagename

(注意缺失--user

並執行,如上:

PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname

背景說明:/optgnu/linux 發行版通常將其視為本地使用者或系統管理員可以安裝自己的東西的目錄。換句話說:發行版的包管理器通常不會碰/opt. 這在文件系統層次標準中或多或少是標準化的

為了讓使用者感到舒適,您仍然需要編寫一個包裝腳本並將其放在/binor中/usr/bin。這仍然存在與分發包管理器發生衝突的風險,但至少它只是一個包裝腳本文件。因此,可能造成的損害是最小的。您可以將包裝腳本命名為類似local-foocustom-foo進一步降低與分發包管理器衝突的風險。

或者,您可以修改PATH以包含/opt/bin並放置您的包裝腳本。但這再次要求您修改PATH定義的(或某些)系統文件,這些文件可能再次被分發包管理器覆蓋。

簡而言之:如果您想為所有使用者安裝,請在/opt. 為了舒適而放置包裝腳本的地方是一個判斷呼叫。

/opt有關文件系統層次結構標準的更多資訊:

引用自:https://unix.stackexchange.com/questions/76389