python - PyInstaller 模块未找到
问题描述
我一直在努力解决 PyInstaller 问题,但不确定如何修复 ModuleNotFound (特别是pandas
)。我的 .py 程序是一个简单的 onefile 脚本,它只导入 (Anaconda-)native 包(例如 tkinter、pandas、os),它在 IDE 中工作。我知道 PyInstaller 只导入顶级包,所以我将列出我到目前为止的方法:
- 在虚拟环境中运行以将 Python 3.8 降级到 3.7.5。我听说人们对 Python 3.8 的 PyInstaller 有问题。还更新了最新版本的 PyInstaller。也试过没有环境。
- 从 onedir 而不是 onefile 构建
pyinstaller --onedir myscript.py
hiddenimports
将规范文件更改hiddenimports = ['pandas._libs.tslibs.timedeltas', etc.]
为hiddenimports = ['pandas']
- 放在
import pandas
.py 的顶部 - 遵循这个:如何将 Python 站点包文件夹(不包括在内)添加到 PyInstaller 规范文件中?但修复我的路径文件,
C:\\Users\\username\\Anaconda\\lib
因为这是在 Anaconda 解释器中。然后它升起AttributeError: module 'importlib._bootstrap_external' has no attribute '_w_long'
,我试图修复它无济于事
这些都没有奏效。有没有更好的方法可以在 Python 中构建可执行文件,或者是否有解决此问题的方法?
解决方案
我终于通过重新安装 pandas 和 numpy 来修复它。我没有想到这一点,因为我在此过程中多次重新安装了 pandas。无论如何,如果有人遇到同样的问题并需要最后的手段:
pip uninstall pandas -y
pip uninstall numpy -y
pip install pandas
pip install numpy
编辑:在此之后,我意识到我安装/连接 Anaconda 的方式很混乱,所以我重新安装了 Anaconda 并且 pyinstaller 更容易使用。要在重新安装 Anaconda 后将 pyinstaller 与 Anaconda 一起使用,而不是默认的 python,conda install -c conda-forge pyinstaller
推荐阅读
- rust - 如何将引用返回到 Rc
> 函数参数? - json - React JSON 未定义
- php - 是什么导致了这个 Stripe API PaymentMethod Attach 错误?
- java - 当 flatMap 返回一个空的 Mono 时如何调用 switchIfEmpty?
- mysql - 如何在 MySQL 中对 LEFT JOIN 的结果进行分组?
- node.js - 带有 Express 的 NodeJs 不解析来自 node-fetch 的表单数据
- html - 变换时的背景问题:rotateY(),问题似乎只出现在 codepen(?)
- api - Binance API,我正在尝试用 BTC 购买硬币
- node.js - 使用node js从redis中删除键
- css - 有没有办法在印刷媒体中将链接显示为脚注?