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