gpt4 book ai didi

python - PyInstaller 中没有名为 'pandas._libs.tslibs.timedeltas' 的模块

转载 作者:IT老高 更新时间:2023-10-28 20:23:49 25 4
gpt4 key购买 nike

我正在尝试使用 Windows 的 PyInstaller(开发版)将 Python 脚本包装到 exe 中。

脚本使用 Pandas,我在运行 exe 时遇到了错误。

Traceback (most recent call last):   File "site-packages\pandas\__init__.py", line 26, in <module>   File "C:\Users\Eddie\Anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, module.__dict__) File "site-packages\pandas\_libs\__init__.py", line 4, in <module> File "C:\Users\Eddie\Anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 714, in load_module
module = loader.load_module(fullname) File "pandas/_libs/tslib.pyx", line 1, in init pandas._libs.tslib ModuleNotFoundError: No module named 'pandas._libs.tslibs.timedeltas'

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "G5k Version file Extract (with tkinter).py", line 15, in <module> File "C:\Users\Eddie\Anaconda3\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 631, in exec_module
exec(bytecode, module.__dict__) File "site-packages\pandas\__init__.py", line 35, in <module> ImportError: C extension: No module named 'pandas._libs.tslibs.timedeltas' 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 的程序执行此操作,一切都很好。

这与 another question 非常相似已经解决了 Python 2,但我使用的是 Python 3,并且由于 .spec 文件格式的更改,该解决方案的应用方式不同。

Python 3.6
PyInstaller - 版本 3.3
Pandas - 版本 0.20.3

最佳答案

PyInstaller 3.3、Pandas 0.21.0、Python 3.6.1。

由于尚未发布/提交对 PyInstaller 的修复,我能够解决这个问题,请参阅 thisthis .并保留将其打包成一个可执行文件的能力。

基本上:

  1. 找到 PyInstaller 文件夹..\hooks,例如C:\Program Files\Python\Lib\site-packages\PyInstaller\hooks.

  2. 使用内容(或基于您的错误的任何类似内容)创建文件 hook-pandas.py:

    hiddenimports = ['pandas._libs.tslibs.timedeltas']
  3. 保存 + 我删除了 .spec 文件、build 和 dist 文件夹以确保安全。

  4. 运行 pyinstaller -F my_app.py

只要您不升级或重新安装 PyInstaller,此修复程序就应该有效。所以你不需要编辑 .spec 文件。

也许他们会尽快为我们提供修复! :)

关于python - PyInstaller 中没有名为 'pandas._libs.tslibs.timedeltas' 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47318119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com