标签:exe pyinstaller 配置文件 Test path os spec 打包
接下来就是资源文件或者配置文件与python程序一起打包了。
Step1.
生成spec文件
1 |
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文件
1 |
pyinstaller Test.spec
|
打包完成,无任何报错信息,生成的exe在dist中,测试Test.exe,将其拷贝至没有Conf.json的文件夹下运行,程序正常运行,打包成功。
pyinstaller打包后,配置文件无法正常读取问题
1 2 3 4 5 |
import os
file = os.path.dirname(os.path.abspath(__file__))
cf = configparser.ConfigParser()
print ( file )
cf.read( file + '/data.ini' )
|
先获取绝对路径在读取
pyinstaller打包成exe之后,获取exe路径
文件路径 C:\Users\寒寻\Documents\gamefi\createNewETHAddress\createNewETHAddress.py
print(os.path.realpath(sys.argv[0]))
C:\Users\寒寻\Documents\gamefi\createNewETHAddress\createNewETHAddress.py
print(os.path.realpath(sys.executable))
C:\ProgramData\Anaconda3\envs\gamefi\python.exe
print(os.path.dirname(os.path.realpath(sys.argv[0])))
C:\Users\寒寻\Documents\gamefi\createNewETHAddress
print(os.path.dirname(os.path.realpath(sys.executable)))
C:\ProgramData\Anaconda3\envs\gamefi
如果直接使用__file__,在打包成exe之后是无法获取文件路径的
标签:exe,pyinstaller,配置文件,Test,path,os,spec,打包 来源: https://www.cnblogs.com/xiondun/p/16380870.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。