Python 2.6.1:检查是否存在导入
我已经用Python2.6.1为一些同事的MacOSX编写了一个实用程序脚本。因为他们没有安装所有必需的模块,所以我有一个try-except-import子句:Python 2.6.1:检查是否存在导入,python,macos,python-module,python-import,Python,Macos,Python Module,Python Import,我已经用Python2.6.1为一些同事的MacOSX编写了一个实用程序脚本。因为他们没有安装所有必需的模块,所以我有一个try-except-import子句: 试试看: 导入argparse 除恐怖外: 打印“缺少argparse模块:请运行'sudo easy_install argparse'” 系统出口(1) 我很确定有更优雅的方式来处理这个问题。有什么想法吗?这实际上是最好的方法。例如,根据机器上安装的内容,使用相同的方法选择不同的json库: try: import si
试试看:
导入argparse
除恐怖外:
打印“缺少argparse模块:请运行'sudo easy_install argparse'”
系统出口(1)
我很确定有更优雅的方式来处理这个问题。有什么想法吗?这实际上是最好的方法。例如,根据机器上安装的内容,使用相同的方法选择不同的json库:
try:
import simplejson as json
except ImportError:
import json
这是常见的习惯用法,但您可以使用
setuptools
并自动安装依赖项() 最好的办法是冻结python代码和所有需要的模块,并将其作为二进制文件分发;它在Windows和Linux上对我有效,但是在Linux上,请确保您有一个兼容的glibc版本
MacOSX有一些冻结工具,但我没有使用过。我只使用Windows和Linux工具
查看此链接了解更多信息
这样的事情只能在独占的情况下进行,而不是像在他的例子中那样的argparse。这只是为了给出这种语法的用例,以支持这样的说法,即这是正确的方法。我知道它只适用于极少数的examplesbest解决方案,因为它是可伸缩的,并且在默认情况下(在系统范围内安装软件包时)丢失几个模块时,可以让用户更容易地使用它。是的,但是您可以使用它在主文件夹中创建一个完全隔离的Python环境,并在那里安装软件包。