在 Arch 上安裝 python 包的推薦方式
在 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
背景說明:
/opt
gnu/linux 發行版通常將其視為本地使用者或系統管理員可以安裝自己的東西的目錄。換句話說:發行版的包管理器通常不會碰/opt
. 這在文件系統層次標準中或多或少是標準化的為了讓使用者感到舒適,您仍然需要編寫一個包裝腳本並將其放在
/bin
or中/usr/bin
。這仍然存在與分發包管理器發生衝突的風險,但至少它只是一個包裝腳本文件。因此,可能造成的損害是最小的。您可以將包裝腳本命名為類似local-foo
或custom-foo
進一步降低與分發包管理器衝突的風險。或者,您可以修改
PATH
以包含/opt/bin
並放置您的包裝腳本。但這再次要求您修改PATH
定義的(或某些)系統文件,這些文件可能再次被分發包管理器覆蓋。簡而言之:如果您想為所有使用者安裝,請在
/opt
. 為了舒適而放置包裝腳本的地方是一個判斷呼叫。
/opt
有關文件系統層次結構標準的更多資訊: