Python 2.6.1:检查是否存在导入

时间:2012-03-12 09:18:48

标签: python macos python-module python-import

我为一些同事的Mac OSX和Python 2.6.1编写了一个实用程序脚本。由于它们没有安装所有必需的模块,因此我有一个try-except import子句:

try:
    import argparse
except ImportError:
    print "argparse module missing: Please run 'sudo easy_install argparse'"
    sys.exit(1)

我很确定有更优雅的方法可以解决这个问题。有什么想法吗?

3 个答案:

答案 0 :(得分:7)

您最好的方法是使用所需的所有模块冻结您的python代码并将其分发为二进制文件;它适用于Windows和Linux,但在Linux上,请确保您具有兼容的glibc版本

Mac OS X有一些冻结工具,但我还没有使用它们。我只使用Windows和Linux工具。

查看此链接了解更多信息

http://hackerboss.com/how-to-distribute-commercial-python-applications/

答案 1 :(得分:4)

这是常见的习惯用语,但您可以使用setuptoolspip自动安装依赖项(example)。

答案 2 :(得分:1)

这实际上是最好的方法。例如,相同的方法用于根据计算机上安装的内容选择不同的json库:

try:
    import simplejson as json
except ImportError:
    import json