![](/img/trans.png)
[英]How do I resolve not fully installed package (python3-setuptools)?
[英]How can I tell if Python setuptools is installed?
我正在編寫一個快速的 shell 腳本,以使我們的一些開發人員更容易運行 Fabric。 (我也是 Python 新手。)安裝 Fabric 的一部分是安裝 pip,而安裝 pip 的一部分是安裝 setuptools。
有沒有什么簡單的方法可以檢測 setuptools 是否已經安裝? 我想讓多次運行腳本成為可能,它會跳過已經完成的任何事情。 就目前而言,如果您連續運行 ez_setup.py 兩次,第二次就會失敗。
我的一個想法是在 /Scripts 文件夾下查找 easy_install 腳本。 我可以使用 sys.executable 猜測 Python 根目錄,然后交換可執行文件名稱本身。 但我正在尋找更優雅的東西(也許是跨操作系統友好的)。 有什么建議嗎?
試試這個命令。
$ pip list
它返回pip
和setuptools
的版本。 否則嘗試
$ pip install pil
如果這也不起作用,請嘗試使用
$ which easy_install
這不是很好,但它會起作用。
一個簡單的python腳本可以做檢查
import sys
try:
import setuptools
except ImportError:
sys.exit(1)
else:
sys.exit(0)
或
try:
import setuptools
except ImportError:
print("Not installed.")
else:
print("Installed.")
然后只需在調用腳本中檢查它的退出代碼
只需在 IDLE 中運行以下代碼:
import easy_install
如果它只是轉到下一行,我認為它已安裝。 如果它說:
Error: invalid syntax
那么它可能沒有安裝。 我知道這一點是因為我用它測試了 pip。 也只需檢查import pip
以查看 pip 是否已預安裝。 :)
您可以通過運行以下命令行命令來檢查 easy_install 和 setuptools:
which easy_install
#finds the path to easy_install if it exists
less path/to/easy_install
#where path/to/easy_install is the output from the above command
#this outputs your easy_install script which will mention the version of setuptools
如果安裝了 easy_install/setuptools 包,上面第二個命令的輸出可能會是這樣的:
#EASY-INSTALL-ENTRY-SCRIPT: 'setuptools==0.6c11','console_scripts','easy_install'
它預裝了新版本的 Python。
pip3 list
足以確定它是為我安裝的
如果已經安裝,這將顯示您的 setuptools 的版本
$python -c "import sys; import setuptools; print(setuptools.version.__version__)"
取決於安裝的 python 版本。 您可以嘗試"pip list"
或"pip3 list"
並檢查安裝的setuptools和版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.