上海企业建站推荐,网站建设费用 做个网站要多少钱,个人怎么做自媒体,万网网站空间购买Pyinstaller可以将python程序打包成可执行文件#xff0c;在windows上是exe文件#xff0c;在linux上是二进制可执行文件。 工作中有需求是把本地python工程打包成后台可运行的服务#xff0c;考虑到部署环境的不同#xff0c;可以使用docker镜像的方式#xff0c;也可以使…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 21 日志文件会保存在log.out文件中可以使用tail -f log.out查看日志的生成情况。