使用PyInstaller 打包配置文件

目录
  • PyInstaller打包配置文件
    • (一) 仅打包python文件
    • (二) 打包python文件与资源文件
  • pyinstaller打包后,配置文件无法正常读取问题

PyInstaller打包配置文件

在很多项目完成时,我们需要将python文件打包发布为一个exe应用程序,在python 中,打包就变得很简单了。

此文章仅介绍最简单的单个python文件打包,以及资源打包,后续复杂的,实践后再做更新。

(一) 仅打包python文件

Step1.

安装 PyInstaller 第三方库。

pip install PyInstaller

Step2.

打包python文件。

pyinstaller -F -i tubiao.ico   Test.py

运行结束后在当前文件夹会有文件夹(dist,build),打包好的exe就在dist中。

(二) 打包python文件与资源文件

很多时候,我们需要读取某个路径下的配置文件以及其他资源文件等等,而每次发布时打包好python程序后再拷贝,很繁琐而且容易加大因为人工而引起的错误率。

首先,得在python程序中对读取的资源文件或者配置文件路径做一下处理。

# 处理资源路径或者配置文件路径
def process_path(path):
    if getattr(sys, 'frozen', False): #是否Bundle Resource
        base_path = sys._MEIPASS
    else:
        base_path = os.path.abspath(".")
    return os.path.join([base_path, path)

在传入资源文件或者配置文件前,现将路径使用process_path函数处理一下。

接下来就是资源文件或者配置文件与python程序一起打包了。

Step1. 

生成spec文件

pyi-makespec -F -i tubiao.ico Test.py

运行命令后会在当前文件夹下生成Test.spec 文件

Step2.

编辑Test.spec文件

在Test.py中我们需要去读取当前文件夹下Conf.json 配置文件,如果此文件不存在,则退出程序。

现在将Conf.json打包进exe中(程序中需要对路径做处理,即(二)中提到的路径处理函数).

修改Test.spec 为:

在data中将资源文件或者配置文件添加进去。

Step3.

打包spec文件

pyinstaller Test.spec

打包完成,无任何报错信息,生成的exe在dist中,测试Test.exe,将其拷贝至没有Conf.json的文件夹下运行,程序正常运行,打包成功。

pyinstaller打包后,配置文件无法正常读取问题

import os
file = os.path.dirname(os.path.abspath(__file__))
cf = configparser.ConfigParser()
print(file)
cf.read(file+'/data.ini')

先获取绝对路径在读取

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 用python打包exe应用程序及PyInstaller安装方式

    目录 1.PyInstaller简介 2.PyInstaller安装 3. 准备需要的文件 4.使用Pyinstaller 5.参数的含义 6. 附圣诞树源文件 7. 源文件下载 1.PyInstaller简介 PyInstaller是一个跨平台的Python应用打包工具,支持 Windows/Linux/MacOS三大主流平台,能够把 Python 脚本及其所在的 Python 解释器打包成可执行文件,从而允许最终用户在无需安装 Python 的情况下执行应用程序. PyInstaller 制

  • Pyinstaller打包工具的使用以及避坑

    目录 一.基本使用 二.基本错误处理 1.当运行exe后出现提示:No module named XXX 2.当运行出现报错:UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 658: illegal multibyte 3.当运行出现这种报错:TemplateDoesNotExist at /index/ 4.项目缺少样式css和js 本篇博客主要介绍的是pyinstaller在windows下的基本使用和基础

  • 如何使用pyinstaller打包时引入自己编写的库

    目录 pyinstaller打包引入自己编写的库 场景 解决方案 使用第三方库pyinstaller pyinstaller打包引入自己编写的库 场景 使用pyinstaller打包某个文件后,生成的exe文件无法运行,提示 Module not found: myLib,myLib是我自己编写的一个库:封装了一些常用且重复的代码: from myLib.mysql import Mysql 解决方案 查找了一些资料后得到解决办法:在使用打包命令时使用额外参数 -p,参数值为myLib所在的路径

  • Python使用pyinstaller打包含有gettext locales语言环境的项目(推荐)

    问题 如何使用 pyinstaller 打包使用了 gettext 本地化的项目,最终只生成一个 exe 文件 起因 最近在用 pyhton 做一个图片处理的小工具,顺便接触了一下 gettext,用来实现本地化化中英文转换.项目主要结构如下: . |--src # 源码 | |--package1 | |--package2 | |--locales # 本地化文件 | | |--en # 英文 | | | |--LC_MESSAGES | | | |--en.mo | | |--zh # 中

  • pyinstaller打包exe程序的步骤和添加依赖文件的实现

    目录 pyinstaller打包exe程序和添加依赖文件 1.安装pyinstaller库 2.pyinstaller的打包机制 3.打包命令 4.添加导包外的一些依赖文件 5..spec方式打包 6.pyinstaller常用参数 pyinstall打包时的依赖问题 pyinstaller打包exe程序和添加依赖文件 或许我们并不是专业的程序猿,但是却可以通过python来提高我们的工作效率,减少加班时间,让代码替我们完成一些重复的工作,节省下来的时间去泡个妹子,牵牵小手不香吗 话不多说,马上

  • PyInstaller如何打包依赖文件至目标程序目录

    目录 打包依赖文件至目标程序目录 问题 解决办法 pyinstaller打包exe有依赖文件 打包依赖文件至目标程序目录 问题 我使用 PySide2 开发了一个应用程序,为了方便其他人使用,我便使用 PyInstaller 打包成 *.exe.打包模式为 one-folder,即生成的目标文件是一个文件夹,里面包含了该 *.exe 文件及该 *.exe 所依赖的全部文件. 打开该文件夹,截图如下: 一切都很顺利,但是有这样一个问题,程序运行时依赖几个文件(*.png,*.txt),没有给我打包

  • 使用PyInstaller 打包配置文件

    目录 PyInstaller打包配置文件 (一) 仅打包python文件 (二) 打包python文件与资源文件 pyinstaller打包后,配置文件无法正常读取问题 PyInstaller打包配置文件 在很多项目完成时,我们需要将python文件打包发布为一个exe应用程序,在python 中,打包就变得很简单了. 此文章仅介绍最简单的单个python文件打包,以及资源打包,后续复杂的,实践后再做更新. (一) 仅打包python文件 Step1. 安装 PyInstaller 第三方库.

  • pyinstaller打包后,配置文件无法正常读取的解决

    目录 pyinstaller打包配置文件无法正常读取 pyinstaller又踩一坑,configparser os.mknod 完整代码 pyinstaller打包配置文件无法正常读取 import os file = os.path.dirname(os.path.abspath(__file__)) cf = configparser.ConfigParser() print(file) cf.read(file+'/data.ini') 先获取绝对路径在读取 pyinstaller又踩一

  • 简单介绍一下pyinstaller打包以及安全性的实现

    pyinstaller打包问题 简单介绍一下pyinstaller常用的参数: 可选参数 示例 说明 -F pyinstaller -F demo.py 只在dist文件夹中生成一个程序demo.exe文件,适用于一个模块没有多依赖.py文件 -D pyinstaller -D demo.py 默认选项,除了主程序demo.exe外,还会在在dist文件夹中生成很多依赖文件,推荐使用这个 -c pyinstaller -c demo.py 默认选项,只对windows有效,使用控制台 -w py

  • Pyinstaller 打包发布经验总结

    使用Pyinstaller打包Python项目包含了大量的坑,这篇文章总结实践得到的Pyinstaller打包经验.本文的例子为Python3.6代码,Pyinstaller3.4,在windows下打包为64位和32位版本. Pyinstaller基本使用方法 Pyinstaller可以通过简单的命令进行python代码的打包工作,其基本的命令为: pyinstaller -option xxx.py options的详情可参考官方帮助文档https://pyinstaller.readthe

  • python 利用Pyinstaller打包Web项目

    最近需要用python打包一个单页面网页demo,于是准备用python包pyinstaller来打包程序.网上搜索了一下,大部分教程都是打包非web项目,这里分享一下打包简单网页demo的过程. 系统环境:win10+python3.6 一.安装pyinstaller pip install pyinstaller 二.打包项目 1.如果是单文件项目,pyinstaller可以通过简单的命令进行python代码的打包工作,其命令为: pyinstaller -option ***.py 1.1

  • 总结Pyinstaller打包的高级用法

    一.安装pyinstaller PyInstaller是一个用来将Python程序打包成一个独立可执行文件的第三方包. 因是第三方包,所以需要安装一下: pip install pyinstaller 或者升级到最新版本: pip install --upgrade pyinstaller 或者安装开发者版本: pip install https://github.com/pyinstaller/pyinstaller/archive/develop.tar.gz 当然了,也可以下载whl文件,

  • 使用pyinstaller打包django的方法实现

    目录 Step 1: 生成spec文件 Step 2: 使用pyinstaller 构建可执行文件 虽然django项目我们一般通过部署服务器进行发布,但是也有些情况,可能就是一个小小的数据管理应用,也就内部几个人使用,想直接打包成一个应用,在没有任何python环境的普通的机器上就能运行,内网能访问就可以了. pyinstaller 就能够用来将python应用打包成可执行文件. Step 1: 生成spec文件 pyi-makespec -D manage.py 执行成功后,会显示如下信息,

  • webpack项目调试以及独立打包配置文件的方法

    webpack项目调试 -sourcemap webpack配置提供了devtool这个选项,如果设置为 '#source-map',则可以生成.map文件,在chrome浏览器中调试的时候可以显示源代码. devtool: '#source-map' webpack独立生成可修改的配置文件 用generate-asset-webpack-plugin这个插件,在webpack.prod.config.js中去生成configServer.json文件, 让其build的时候生成json文件,然

随机推荐