【发布时间】:2017-01-27 19:24:22
【问题描述】:
我有这个简单的 Python 脚本。我想在运行它之前包含某种条件来检查 Python 模块(在我下面的示例subprocess 中)。如果该模块不存在,请安装该模块,然后运行该脚本。如果该模块存在,请跳过该模块的安装并运行该脚本。我在网上看到的大多数类似情况都在苦苦挣扎。
import subprocess
ls_output = subprocess.check_output(['ls'])
print ls_output
【问题讨论】:
-
subprocess内置于 2.7 和 3.x。它被添加到2.4。您不应尝试将其安装在 2.4 或更高版本的任何设备上。 -
这听起来像是一件可疑的错误事情。您可能应该将需要安装的库列为应用程序的依赖项。然后将在安装您的应用程序时安装它。为了安装库,您的脚本需要超级用户访问权限,这是一个安全风险。除此之外,您会使用哪种安装方法?
pip,conda,git结帐 &setup.py?你还会用virtual env吗? -
我只是以
subprocess为例来简化我的问题。实际的模块是 pycurl。我希望脚本仅在安装 pycurl 时运行。如果没有安装,则通过 pip 安装然后执行。 -
感谢 Paul- 该脚本是在我的 linux 服务器上运行的一个简单脚本。我只想检查是否安装了pycurl,如果没有,安装pycurl,导入然后运行脚本。如果已经安装了pycurl,导入pycurl,然后运行脚本。
-
stackoverflow.com/a/38576759/5334188 看看这个,这可能会有所帮助
标签: python python-2.7