我是Python的学习者。执行我的脚本时出现问题。 由于
,它在Pyinstaller打包时显示failed to execute script
ModuleNotFoundError:没有名为'pandas._libs.tslibs.timedeltas'的模块。
我该如何解决?
我正在使用在Linux 10上运行的Python 3.6,Pyinstaller 3.4。
答案 0 :(得分:1)
导航至您的python文件夹内的pyinstaller文件夹-安装该文件夹的位置。可能是与此类似的路径:
C:\Users\yourName\AppData\Local\Programs\Python\Python36-32\Lib\site-packages\PyInstaller\hooks
在此文件夹中,找到名为hook.pandas.py
的文件(如果该文件不在该文件夹中),则需要创建该文件。打开您的IDE或您一直在编写Python脚本的任何地方,然后创建一个新文件。这正是您的hook-pandas.py
的样子:
hiddenimports = ['pandas._libs.tslibs.timedeltas']
仅需一行。无需编辑或创建其他任何内容。保存,关闭并尝试再次使用Pyinstaller进行编译。
答案 1 :(得分:0)
在遇到同样的问题后,我找到了解决办法。
在.spec
文件中编辑hiddenimport以添加以下内容:
hiddenimport=[
#all your previous hidden imports
'pandas', 'pandas._libs.tslibs.timedeltas'
]
如果您仍然有与scipy相关的错误消息(比如我),请添加以下内容:
hiddenimport=[
#all your previous hidden imports
'pandas', 'pandas._libs.tslibs.timedeltas'
'scipy', 'scipy._lib.messagestream'
]
希望你的脚本应该很好用!
scipy修补程序的来源:here