Package-Management

如何檢查python3中是否已經安裝了模組或包?

  • April 17, 2022

程序執行前需要驗證是否安裝。

您應該將piplist命令與 grep 一起使用,該命令僅列出已安裝的軟體包(並非所有模組及其鄰居):

pip list | grep -F package_name

如果 package_name 匹配多個已安裝的包,例如搜尋boto何時botocore還安裝了,那麼使用-w而不是-F可以幫助,正如@TaraPrasadGurung 建議的那樣。這沒有列出確切的包,因為-w將包名稱中常見的字元視為單詞邊界。因此,如果您已經 安裝了 orrequests和ruamel.yaml.cmd 並且只需要**一行輸出**,則需要執行以下操作:requests-cache``ruamel.yaml`

pip list --disable-pip-version-check | grep -E "^ruamel\.yaml "

請注意,由於.在使用 時匹配任何字元-E,您需要對其進行轉義。¹


¹是的,這是必要的,因為有一個包ruamel_yamlpip在處理命名空間包時,並非每個包管理器都是兼容的。

如果包在導入時沒有做一些瘋狂或耗時的事情,您可以嘗試實際導入它:

if python -c "import package_name" &> /dev/null; then
   echo 'all good'
else
   echo 'uh oh'
fi

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