如何判断是不是安装了 Python setuptools?
Posted
技术标签:
【中文标题】如何判断是不是安装了 Python setuptools?【英文标题】:How can I tell if Python setuptools is installed?如何判断是否安装了 Python setuptools? 【发布时间】:2013-10-26 03:46:12 【问题描述】:我正在编写一个快速的 shell 脚本,以便我们的一些开发人员更轻松地运行 Fabric。 (我也是 Python 新手。)安装 Fabric 的一部分是安装 pip,安装 pip 的一部分是安装 setuptools。
是否有任何简单的方法可以检测 setuptools 是否已安装?我想让多次运行脚本成为可能,它会跳过已经完成的任何事情。按照现在的情况,如果你连续运行两次 ez_setup.py,第二次就会失败。
我的一个想法是在 /Scripts 文件夹下查找 easy_install 脚本。我可以使用 sys.executable 猜测 Python 根目录,然后换掉可执行文件名本身。但我正在寻找更优雅的东西(也许跨操作系统友好)。有什么建议吗?
【问题讨论】:
尝试导入easy_install,如果它以你的方式抛出错误 - 它不存在:) 【参考方案1】:试试这个命令。
$ pip list
它返回pip
和setuptools
的版本。否则尝试使用
$ pip install pil
如果这也不起作用,请尝试使用
$ which easy_install
【讨论】:
pip list
有效吗?在我的系统中,它给出命令未找到错误。另请查看编辑帮助中的 Markdown 语法,了解哪些选项可用于编辑。
似乎我正在运行一个较旧的点子。 pip list
可用于 pip 1.3。 ***.com/questions/6600878/…
是的,它有效。作为一个可安装的包,你可能想知道你的 virtualenv 中的 setuptools 版本。【参考方案2】:
这不是很好,但它会工作。
一个简单的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.")
然后在调用脚本中检查它的退出代码
【讨论】:
【参考方案3】:只需在 IDLE 中运行以下代码:
import easy_install
如果它只是转到下一行,我认为它已安装。 如果它说:
Error: invalid syntax
那么它可能没有安装。
我知道这一点,因为我用它测试了 pip。
也只需检查import pip
以查看是否预安装了 pip。 :)
【讨论】:
【参考方案4】:您可以通过运行以下命令行命令来检查 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'
【讨论】:
【参考方案5】:它预装了新版本的 Python。
pip3 list
足以证明它是为我安装的
【讨论】:
从源安装时没有为我预装【参考方案6】:这将显示您的 setuptools 的版本(如果已安装)
$python -c "import sys; import setuptools; print(setuptools.version.__version__)"
【讨论】:
【参考方案7】:取决于安装的 python 版本。您可以尝试"pip list"
或"pip3 list"
并检查安装的setuptools 和版本。
【讨论】:
以上是关于如何判断是不是安装了 Python setuptools?的主要内容,如果未能解决你的问题,请参考以下文章
深度学习框架keras安装(后端基于Tensorflow/theano)