【总结】如何利用PyInstaller将包含subprocess, pandas的py打包成exe

本文总结了解决使用PyInstaller打包Python程序时遇到的pandas和subprocess模块问题。在打包过程中,pandas报错找不到`pandas._libs.tslibs.np_datetime`,通过在PyInstaller配置中处理此问题,可以成功打包。此外,运行exe时出现subprocess错误,解决办法是确保所有参数完整。
摘要由CSDN通过智能技术生成

关键字: subprocess, pandas, 多个py打包成一个py, PyInstaller

我的代码中有

import pandas

import subprocess

在打包过程中遇到了几个问题,现在就来说一下。

打包的过程中没有问题,但是执行时候首先报了pandas的错。提示没有找到pandas._lilbs.tslibs.np_datetime。大概的错误如下:

 
ModuleNotFoundError: No module named 'pandas._libs.tslibs.np_datetime'
'pandas._libs.tslibs.np_datetime' not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force' to build the C extensions first
原因是pandas是c源码,而pyInstaller找不到pandas的代码,就算你是-p /lib/site-packages还是不行。
解决方法:
在./Lib/site-packages/PyInstaller/hooks下,新建一个文件名为hook-pandas.py。写入以下内容并保存。
hiddenimports = ['pandas._libs.tslibs.timedeltas',
'pandas._libs.
  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值