我为一些同事的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)
我很确定有更优雅的方法可以解决这个问题。有什么想法吗?
答案 0 :(得分:7)
您最好的方法是使用所需的所有模块冻结您的python代码并将其分发为二进制文件;它适用于Windows和Linux,但在Linux上,请确保您具有兼容的glibc版本
Mac OS X有一些冻结工具,但我还没有使用它们。我只使用Windows和Linux工具。
查看此链接了解更多信息
http://hackerboss.com/how-to-distribute-commercial-python-applications/
答案 1 :(得分:4)
答案 2 :(得分:1)
这实际上是最好的方法。例如,相同的方法用于根据计算机上安装的内容选择不同的json库:
try:
import simplejson as json
except ImportError:
import json