chinese_province_city_area_mapper
chinese_province_city_area_mapper copied to clipboard
对于pyinstaller打包后报错的问题
@hanbinpro @DQinYuan
KeyErro: 'cpca.resources'
No module named 'cpca.resources'
采用一个变通方法,首先将cpca模块安装的目录下将/cpca/resources目录下面的pca.csv剪切到/cpca目录下,然后删除resources目录,然后修改/cpca下面的__init__.py 文件的第27行: with resource_stream('cpca.resources', 'pca.csv') as pca_stream: 修改为: with resource_stream('cpca', 'pca.csv') as pca_stream: 保存退出 然后打包的时候 用此命令: pyinstaller.exe -D xxxx.py 完事之后,进入打包的文件夹,手动建立一个cpca文件夹,然后把前面的pca.csv文件拷贝到这个目录,齐活。打包后程序可以正常运行
PS.打包不要用 -F 参数,这样程序会解压到临时目录运行,因为pca.csv文件并不会被解压到临时目录,而系统又不允许程序自动拷贝文件进去,所以只能迂回用-D参数
好的 谢谢 大佬
@hanbinpro @DQinYuan 你好,我在自己的项目中引用了cpca, 用如上方法修改了cpca。 我想把自己的项目打包成一个exe包含所有依赖,但是 -D 不会包含依赖在exe中,请问应该怎么做呢。
我用 -F 打包,没问题
------------------ 原始邮件 ------------------ 发件人: "wt05001"<[email protected]>; 发送时间: 2020年3月17日(星期二) 下午5:43 收件人: "DQinYuan/chinese_province_city_area_mapper"<[email protected]>; 抄送: "Cheng Xi"<[email protected]>; "Comment"<[email protected]>; 主题: Re: [DQinYuan/chinese_province_city_area_mapper] 对于pyinstaller打包后报错的问题 (#44)
@hanbinpro @DQinYuan 你好,我在自己的项目中引用了cpca, 用如上方法修改了cpca。 我想把自己的项目打包成一个exe包含所有依赖,但是 -D 不会包含依赖在exe中,请问应该怎么做呢。
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
我也遇到相同的问题,对于我的项目可行的解决方法是:
使用pyinstaller的-add-data
参数,linux环境下命令是
pyinstaller --add-data="path/to/cpca/resources:cpca/resources" -D xx.py
path/to/cpca/
即你安装cpca包的具体路径。
原理应该和 ddxwltan说的一样,只是应该不用修改cpca的__init__.py
.