【Bug解决】ImportError: C extension: No module named ‘pandas._libs.tslibs.base‘ not built.

问题描述

笔者用Pyinstaller打包成exe文件,在其他电脑端运行时出现如下问题

ImportError: C extension: No module named 'pandas._libs.tslibs.base' not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --force' to build the C extensions first.

笔者认为可能时pandas模块没有打包完整,于是修改打包命令:

Pyinstaller -D -i icon.ico --hidden-import=torch --hidden-import=pandas --hidden-import=torchvision Dislden_yolo_4.19.py --additional-hooks-dir=.

--hidden-import导入pandas模块,但依旧没有解决问题

问题解决

方法一:

于是笔者根据错误提示找到pandas._libs.tslibs.base,对比原电脑pandas库和打包文件夹下的pandas库如下:
在这里插入图片描述
于是笔者将缺少的文件复制到打包文件内,问题解决!

方法二:

照常的生成 xxx.spec 文件,修改spec文件,在文件中添加以下代码:

# Add the following
def get_pandas_path():
    import pandas
    pandas_path = pandas.__path__[0]
    return pandas_path

dict_tree = Tree(get_pandas_path(), prefix='pandas', excludes=["*.pyc"])
a.datas += dict_tree
a.binaries = filter(lambda x: 'pandas' not in x[0], a.binaries)

在这里插入图片描述

修改打包指令如下:

Pyinstaller -D -i icon.ico --hidden-import=torch --hidden-import=pandas --hidden-import=torchvision Dislden_yolo_4.19.spec --additional-hooks-dir=.
  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值