Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.6.1:检查是否存在导入_Python_Macos_Python Module_Python Import - Fatal编程技术网

Python 2.6.1:检查是否存在导入

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

我已经用Python2.6.1为一些同事的MacOSX编写了一个实用程序脚本。因为他们没有安装所有必需的模块,所以我有一个try-except-import子句:

试试看:
导入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环境,并在那里安装软件包。