本文共 1528 字,大约阅读时间需要 5 分钟。
我正在编写一个快速的shell脚本,以使我们的一些开发人员更容易运行Fabric。(我也是Python的新手。)安装结构的一部分是安装PIP,而安装PIP的一部分是安装SETUPTOOLS。
是否有任何简单的方法来检测安装工具是否已经安装?我想让它可以运行多次脚本,它跳过已经做过的任何事情。现在看来,如果您连续运行ez_setup.py两次,第二次就会失败。
我的一个想法是在/scripts文件夹下查找易于安装的脚本。我可以使用sys.executable猜测python根目录,然后交换可执行文件名本身。但我正在寻找一些更优雅的东西(也许交叉操作系统友好)。有什么建议吗?
尝试导入Easy_Install,如果它以您的方式引发错误-不存在:)
尝试使用此命令。
$ pip list
它返回pip和setuptools的版本。否则尝试
$ pip install pil
如果这也不起作用,那么尝试
$ which easy_install
pip list工作吗?在我的系统中,它发出一个未发现错误的命令。还可以查看"编辑帮助"中的标记语法,查看哪些选项可用于编辑。
好像我在做一个老的PIP。pip list可用于PIP 1.3。stackoverflow.com/questions/6600878/…
是的,它有效。作为一个可安装的软件包,您可能希望了解virtualenv中的安装工具版本。
应该可以使用以下命令之一。
这不太好,但会奏效的。
一个简单的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.")
然后检查调用脚本中的退出代码
只需将以下代码运行到空闲状态:
import easy_install
如果它只是转到下一行,我想它已经安装好了。如果它说:
Error: invalid syntax
那么它可能没有安装。我知道这是因为我用它测试了PIP。另外,只需检查import pip以查看PIP是否已预安装。:)
要测试是否安装了任何模块,请尝试此操作
>>> import sys
>>> 'setuptools' in sys.modules.keys()
False
通过运行以下命令行命令,可以检查轻松安装和设置工具:
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
足以确定它是为我安装的
从源代码安装时没有为我预安装
转载地址:http://hqkfs.baihongyu.com/