Python脚本代码运行正常,但是使用pyinstaller打包成执行文件后运行提示:No module naned 'reportlab.graphics.barcode.code128'?

Windows7 Python3.8.5,pyinstaller跟reportlab也尝试更新过。
下面是执行程序运行时提示的报错:

Traceback (most recent call last):
File"条形码贴纸生成-py”,1ine3,in<module>
File "PyInstaller\loader\pyimod03_importers.py",line 531,in exec_module
File "reportlab\graphics\barcode\_init__.py",line 76,in <module>
File "reportlab\graphics\barcode\_init_.py",line 42,in reset
File "PyInstaller\loader\pyimod03_importers.py",line 531.in exec_module
File "reportlabgraphics\barcode\widgets.py",line 166,in <module>
File "reportlab\graphics\barcode\widgets.py",line 95,in BCW
File "<string>",line 1,in <module>
ModuleNotFoundError:No module naned 'reportlab.graphics.barcode.code128'
[1156]Fai1 ed to execute script条形码贴纸生成

我自己发现问题是因为下面这句代码:

from reportlab.graphics.barcode import code128

可是直接调试代码是可以正常运行的,也确实能生成我需要的条码。

import code128.py

执行脚本也是可以正常运行,但是使用pyinstaller打包确打包失败,提示(太多提示了,就贴上最后一个):(另,我尝试过修改spec的hiddenimports把提示缺失的模块强制打包,然后通过打包spec也是下面的错误提示)
AttributeError: 'tuple' object has no attribute 'rpartition'
然后我找了所有代码,都没有出现.rpartition,救命- -!

最后我新建了一个简单的测试.py脚本(代码如下)也是同样的问题

from reportlab.graphics.barcode import code128
print("test")

请各位帮忙看看是什么问题导致的,感谢!

这样试试,最前面加一句

import reportlab

pyinstaller 的老问题了。

暂时没有实际解决到这个问题,使用一个替代方法:
使用code128这个模块替代,安装code128模块

import code128
width = 100
height = 2
barcode128 = code128.image(barcode_value,width,height)
##barcode128.save("123.png")

复杂一点慢一点,成一个图片再操作我需要的其他内容,但是好歹可以打包成一个能运行的执行文件了,先用着了...

pyinstaller 建议使用可视化打包工具打包,能自动将匿名导入包导入进去,如未导入,还可手动添加
详情参考下面帖子,如有问题,回复我会私聊帖主都可以

有帮助请点一下右上角的采纳,谢谢