Python 包安裝在哪裡
-
使用
pip命令列出已安裝的軟體包 -
使用
conda命令列出本地安裝的軟體包 -
使用
python命令列出已安裝的軟體包 -
使用
distutils.sysconfig模組列出已安裝的軟體包 -
使用
sysconfig模組列出已安裝的軟體包
Python 中的包可以定義為包含 Python 檔案的目錄。這些檔案通常是 Python 模組。
隨著程式變得越來越大和越來越複雜,類似的模組被放置在一個包中,這有助於使程式更易於管理並具有更好的可讀性。這種方法通常稱為模組化程式設計,包有助於實現它。
檔案 __init__.py 必須包含在目錄中,以便 Python 將其視為包。該檔案通常包含包的初始化程式碼,但可以留空。
本教程將討論查詢安裝 python 包的目錄的不同方法。
使用 pip 命令列出已安裝的軟體包
在 Python 中,包可以在全域性和本地安裝。
一個包在全域性安裝時可供系統中的所有使用者使用。相同的包在本地安裝時,僅對手動安裝它的使用者可用。
預設情況下,pip 命令會全域性安裝軟體包。
以下程式碼使用 pip 命令列出全域性安裝的軟體包。
# we can also use "pip list command"
pip freeze
儘管預設情況下,pip 命令會全域性安裝軟體包,但也可以使用此命令檢視本地手動安裝的軟體包。
以下程式碼使用 pip 命令列出本地安裝的軟體包。
# we can also use "pip list --user"
pip freeze --user
使用 conda 命令列出本地安裝的軟體包
此方法僅適用於使用 Anaconda IDE 的程式設計師。可以在 conda 環境中列出本地安裝的包。要執行此操作,我們只需在 Anaconda 提示符中編寫一行程式碼。
以下程式碼使用 conda 列出本地安裝的軟體包。
conda list
使用 python 命令列出已安裝的軟體包
python 命令可用於查詢包站點目錄。
全球網站套餐
發現全域性站點包列在 sys.path 中。
以下程式碼使用 python 命令列出全域性安裝的軟體包。
python -m site
site 模組也可以與 python 命令一起使用,以獲得更好、更簡潔的包列表。此方法使用 site 模組中的 getsitepackages()。
以下程式碼使用 python 命令和 site 模組列出全域性安裝的軟體包。
python -c 'import site; print(site.getsitepackages())'
請注意 getsitepackages() 函式在 virtualenv 中不可用。
本地安裝的軟體包
本地包安裝在 per-user 站點包目錄 (PEP 370) 中。
以下程式碼使用 python 命令列出本地安裝的軟體包。
python -m site --user-site
使用 distutils.sysconfig 模組列出已安裝的軟體包
distutils 包可用於提供在 Python 安裝中安裝和構建附加模組的功能。在這種情況下,它也可用於列出包。
以下程式碼使用 distutils.sysconfig 列出全域性安裝的軟體包。
python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
唯一的缺點是它會將我們指向 dist-packages 或作業系統自動安裝的軟體包的目錄。
使用 sysconfig 模組列出已安裝的軟體包
在 Python 3 及更高版本中,sysconfig 模組可用於列出已安裝的軟體包。
不要將 sysconfig 模組與上面提到的 distutils.sysconfig 子模組混淆。後者是一個完全不同的模組,它在此處使用的 get_paths 函式中存在缺陷。
以下程式碼使用 sysconfig 模組列出已安裝的軟體包。
python -c "import sysconfig; print(sysconfig.get_path('purelib'))"
我們在這裡使用 purelib 路徑,它是標準 Python 包的安裝位置,並藉助 pip 等工具。
Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.
LinkedIn