chinese_province_city_area_mapper icon indicating copy to clipboard operation
chinese_province_city_area_mapper copied to clipboard

对于pyinstaller打包后报错的问题

Open chengzi0103 opened this issue 5 years ago • 5 comments

@hanbinpro @DQinYuan

KeyErro: 'cpca.resources'

No module named 'cpca.resources'

chengzi0103 avatar Sep 05 '19 02:09 chengzi0103

采用一个变通方法,首先将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参数

ddxwltan avatar Sep 06 '19 23:09 ddxwltan

好的 谢谢 大佬

chengzi0103 avatar Sep 12 '19 08:09 chengzi0103

@hanbinpro @DQinYuan 你好,我在自己的项目中引用了cpca, 用如上方法修改了cpca。 我想把自己的项目打包成一个exe包含所有依赖,但是 -D 不会包含依赖在exe中,请问应该怎么做呢。

smart-aiops avatar Mar 17 '20 09:03 smart-aiops

我用 -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.

ddxwltan avatar Apr 07 '20 07:04 ddxwltan

我也遇到相同的问题,对于我的项目可行的解决方法是: 使用pyinstaller的-add-data参数,linux环境下命令是 pyinstaller --add-data="path/to/cpca/resources:cpca/resources" -D xx.py path/to/cpca/即你安装cpca包的具体路径。 原理应该和 ddxwltan说的一样,只是应该不用修改cpca的__init__.py.

LoyalBenny avatar Sep 19 '22 14:09 LoyalBenny