赞
踩
Pyinstaller可以将python程序打包成可执行文件,在windows上是exe文件,在linux上是二进制可执行文件。
工作中有需求是把本地python工程打包成后台可运行的服务,考虑到部署环境的不同,可以使用docker镜像的方式,也可以使用pyinstaller打包成可执行文件:
考虑到系统要用在正式环境上,所以还是选择Pyinstaller的打包方式,因为刚接触,所以很多地方不懂,比如需要把配置文件放在外面,要怎么打包才可以实现呢;还有之前遇到的本地环境运行正常,但是打包完成之后就没有办法获取配置文件中的配置了?
第二个问题我们已经在上篇中解决了,有兴趣可以看看Pyinstaller打包后程序运行报错configparser.NoSectionError: No section:XX问题解决
对于第一个问题,其实也很简单,就是使用--add-data
参数,将外部文件添加进运行程序中,比如我要将“config.ini”文件放到运行的根目录下面,就可以使用下面的打包命令:
pyinstaller --add-data "config.ini:." -F -w yourscript.py
执行完就可以在dist目录下面看到二进制的可执行文件,比如这里是yourscript
。
运行的时候将config.ini与打包出来的可执行文件放在同一目录下面,按照需要修改config.ini中的配置,然后再运行程序,系统中读取config.ini的地方就可以获取到你修改的配置了。
最后,将二进制文件和配置文件上传到服务器之后,可以使用nohup命令进行后台运行:
nohup yourscript > log.out 2>&1 &
日志文件会保存在log.out文件中,可以使用tail -f log.out
查看日志的生成情况。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。