运行python脚本的最佳做法是什么?

时间:2017-07-16 14:34:02

标签: python python-3.x automation

我正在开发一些我计划在LAB中使用的脚本。目前,我只在我正在使用的工作站(开发工作站)本地安装了Python和所有必需的模块。

我希望能够运行我通过每个LAB工作站开发的脚本。

这样做的最佳做法是什么?

我是否需要在所有工作站中安装相同的环境(IDE除外)?如果是,那么推荐的方法是什么?

顺便说一句,是否主要建议从命令行界面(Windows)运行这些脚本,还是有其他优雅的方法来执行此操作?

3 个答案:

答案 0 :(得分:2)

您应该打包这些脚本:

https://python-packaging.readthedocs.io/en/latest/

使用一种在程序包中定义脚本的内置方法:

http://python-packaging.readthedocs.io/en/latest/command-line-scripts.html?highlight=scripts

这将有助于您维护脚本。你可以对真正有用的软件包进行版本测试,因为你会有bug(我们都写错误),你会在新版本中修复它们。此外,安装/升级软件包比管理多个独立脚本更容易。

至于编写脚本时的一些“最佳实践”,我建议:

1)为您的代码编写单元测试:http://python-guide-pt-br.readthedocs.io/en/latest/writing/tests/

2)不要在__name__检查下放置任何逻辑。如果有的话,只需将所有逻辑包装在名为main的函数中,并在__name__检查下调用它。

  if __name__ == '__main__':
       foo = thing()
       args = get_args()
       try:
           blah()
       except DerpError:
           handle_derp()

if __name__ == '__main__':
    main()

答案 1 :(得分:0)

如果你想在多台计算机上运行单个脚本而不在任何地方安装Python,你可以编译"脚本到.exe使用py2exe,cx_Freeze或PyInstall。 "汇编"实际上将Python和库打包到生成的.exe或附带的文件中。

但是如果你计划运行许多Python脚本,你最好在任何地方安装Python,并将你的脚本和库作为Python包(鸡蛋或轮子)分发。

答案 2 :(得分:0)

@moshe,如果你对所有这些机器都有管理员权限,我建议安装现在行业标准的Anaconda python发行版。它附带Jupyter Notebook,这是一个非常有用的脚本,保存和共享代码的工具,以及其他方便的东西,如可视化数据。

或者,你可以简单地启动Amazon AWS free tier Linux实例,按照你想要的方式设置Python,然后只需使用实验室机器上的shell来ssh进入该实例。如果您正在使用其他人可以安装软件并可能破坏您的环境设置的共享计算机,这可能是首选方法。