当前位置:首页 » 《关注互联网》 » 正文

【Python】Pyinstaller打包Linux运行文件,暴露配置文件

2 人参与  2024年03月30日 16:45  分类 : 《关注互联网》  评论

点击全文阅读


Pyinstaller可以将python程序打包成可执行文件,在windows上是exe文件,在linux上是二进制可执行文件。
工作中有需求是把本地python工程打包成后台可运行的服务,考虑到部署环境的不同,可以使用docker镜像的方式,也可以使用pyinstaller打包成可执行文件:

docker镜像的好处是运行起来后可以替换内部的文件,当程序修改之后可以不需要再进行打包,使用docker cp命令直接替换容器内的文件就可以了,适合于开发环境;但缺点是安装包的体积比较大,打包的torch项目镜像体积在8G+,非常感人;pyinstaller的好处是安装包比较小,直接在服务器上运行,不依赖docker或其他python环境,缺点就是灵活性比较小,程序修改之后需要重新打包,适合于正式环境;

考虑到系统要用在正式环境上,所以还是选择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查看日志的生成情况。


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/88266.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 风吹散七年梦陈怀瑾顾十安全书免费风吹散七年梦陈怀瑾顾十安全书免费
  • 什么缺德败家,那是朕的无双国士免费(李彧)
  • (番外)+(全书)一念情深,一念婚烬:+结局+番外(傅青青卢振庭温素素)_(一念情深,一念婚烬:+结局+番外)列表_笔趣阁(傅青青卢振庭温素素)
  • (爱如骄阳显化万物:全书+后续)全文资源(许雾林清也)_爱如骄阳显化万物:全书+后续列表_笔趣阁许雾林清也
  • (水自无情舟渡人:全书+后续+结局)分享(穆婉季铭)_(水自无情舟渡人:全书+后续+结局)列表_笔趣阁(穆婉季铭)
  • 什么缺德败家,那是朕的无双国士(李彧)全书浏览_什么缺德败家,那是朕的无双国士全书浏览
  • 「老婆情人炸残我:全网等我离婚」小说免费在线阅读_[苏言沈桦原谅]小说节选推荐
  • (番外)+(结局)什么缺德败家,那是朕的无双国士:结局+番外(李彧)全书在线_(什么缺德败家,那是朕的无双国士:结局+番外)列表_笔趣阁(李彧)
  • 地府后假千金成警局团宠(江栀年江初遥)全书免费_(江栀年江初遥)地府后假千金成警局团宠后续(江栀年江初遥)
  • 自此流年守孤影:全书+后续(江映棠顾南宸)_(自此流年守孤影:全书+后续)列表_笔趣阁(江映棠顾南宸)
  • 「缘灭情断,爱恨不见」小说无删减版在线阅读_江亦凌薇江母口碑神作必读篇章
  • 快穿:炮灰只想寿终正寝(司里里)_快穿:炮灰只想寿终正寝(司里里)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1