模块未找到错误:没有名为'pandas._libs.tslibs.timedeltas'的模块。

3
我是Python的学习者。在执行我的脚本时出现了一个问题。由于ModuleNotFoundError: No module named 'pandas._libs.tslibs.timedeltas',Pyinstaller打包时显示failed to execute script
我该如何解决呢?
我正在使用Python 3.6、Pyinstaller 3.4,在Windows 10上运行。
2个回答

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进行编译。这种方法的额外好处是,在处理其他程序时,您不需要编辑每个spec文件。

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修复的来源:这里

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接