赞
踩
报错内容为: [Errno 2] Unable to load configuration file (No such file or directory): 'C:\\Project\vs-api\dist\app\app\config\setting.py'
百度查找, 目前搜到的都是一些相对路径
和绝对路径
产生的问题, 经过审计代码, 该项目并不存在该问题.
于是想到了第一个解决方案1
经测试, 可以解决
)缺点: 每次升级源码
-> 打包
都要进行一次手动的 复制粘贴文件, 很麻烦.
经测试, 可以解决
)发现原因
配置文件导入的问题, 下方是问题出现的原因
app.config.from_pyfile('config/secure.py')
app.config.from_pyfile('config/setting.py')
分析:
代码的导入是静态的字符串
的形式的导入的, pyinstaller
并不会识别出该文件的存在, 只会当作普通的字符串, 导致没有将 两个配置文件进行处理打包.
找到了问题的根源, 可以思考为什么其它.py
文件可以被导入?可以猜测是因为import
模块触发被pyinstaller
识别.
于是得到解决方案, 将字符串导入改为python的模块导入
from app.config import secure, setting
app.config.from_object(secure)
app.config.from_object(setting)
缺点: 如果配置文件不是python文件还是无法解决问题
文件
路径】;【打包后的项目目录
】”(经测试, 可以解决
)需要注意: 前面填的是本地文件,而不是目录;后面填的是打包后的目录,即文件夹,而不是文件。
例如: 将本地的
test.db
文件,添加到打包后的项目目录./app/models/db
pyinstaller app-t.py --add-data "F:\\Local\\test.db;.\\app\\models\\db"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。