如何部署具有先决条件的python脚本
问题描述:
我正在开发一个应用程序,首次部署时需要一些初始配置(初始参数,服务器地址等...)。 这个应用程序是用不同于python的语言编写的,但是我使用的是python,因为它是linux机器上最常用的预安装语言。如何部署具有先决条件的python脚本
我想在脚本中像这样的顶部安装的前提条件:
import os
os.system("python setup.py install <package>")
from <package> import <stuff>
但后来我属于一个用户的计算机上安装包,只用它就一次。我应该在脚本结束时将其卸载吗?我如何去做这件事?
答
为什么不在执行程序之前从shell脚本安装python软件包?如果您之后尝试卸载这些软件包,请参阅this question。看起来好像如果您使用easy_install
或pip
进行安装,则可以使用pip uninstall
。
更新基于评论: 您也可以考虑部署您的脚本使用cx_freeze,py2exe,或其他一些选项单独的应用程序(查看其他信息在这里:http://docs.python-guide.org/en/latest/shipping/freezing/)。
是的,这似乎是最好的解决方案,但仍似乎有点肮脏。这真的是最好的方式吗?另外,感谢您提供卸载方法:p – SnelleJelle
另一种解决方案是将Python作为独立程序发布到必备软件包中。更好的可能取决于程序和最终用户的目的。 –
如果您的最终用户都是基于Linux的,请考虑使用冻结或其他包装:http://docs.python-guide.org/en/latest/shipping/freezing/。 –