【发布时间】:2022-09-28 05:18:10
【问题描述】:
我在 Windows 11 上使用 Python 3.10.6,pip 22.2.2
我有一个程序,它使用 yfinance 来获取股票数据和 sklearn.svr 来预测股票数据。我想用 pyisntaller 把这个程序变成一个 .exe 文件。 Pyinstaller 完成并创建了 .exe 文件,但是当我想运行它时,我得到:
File \"PyInstaller\\loader\\pyimod02_importers.py\", line 493, in exec_module
File \"requests_cache\\__init__.py\", line 7, in <module>
File \"<frozen importlib._bootstrap>\", line 1027, in _find_and_load
File \"<frozen importlib._bootstrap>\", line 1006, in _find_and_load_unlocked
File \"<frozen importlib._bootstrap>\", line 688, in _load_unlocked
File \"PyInstaller\\loader\\pyimod02_importers.py\", line 493, in exec_module
File \"requests_cache\\backends\\__init__.py\", line 7, in <module>
File \"<frozen importlib._bootstrap>\", line 1027, in _find_and_load
File \"<frozen importlib._bootstrap>\", line 1006, in _find_and_load_unlocked
File \"<frozen importlib._bootstrap>\", line 688, in _load_unlocked
File \"PyInstaller\\loader\\pyimod02_importers.py\", line 493, in exec_module
File \"requests_cache\\backends\\base.py\", line 18, in <module>
File \"<frozen importlib._bootstrap>\", line 1027, in _find_and_load
File \"<frozen importlib._bootstrap>\", line 1006, in _find_and_load_unlocked
File \"<frozen importlib._bootstrap>\", line 688, in _load_unlocked
File \"PyInstaller\\loader\\pyimod02_importers.py\", line 493, in exec_module
File \"requests_cache\\serializers\\__init__.py\", line 6, in <module>
File \"<frozen importlib._bootstrap>\", line 1027, in _find_and_load
File \"<frozen importlib._bootstrap>\", line 1006, in _find_and_load_unlocked
File \"<frozen importlib._bootstrap>\", line 688, in _load_unlocked
File \"PyInstaller\\loader\\pyimod02_importers.py\", line 493, in exec_module
File \"requests_cache\\serializers\\preconf.py\", line 122, in <module>
File \"requests_cache\\serializers\\pipeline.py\", line 44, in __init__
File \"requests_cache\\serializers\\pipeline.py\", line 44, in <listcomp>
AttributeError: type object \'Placeholder\' has no attribute \'loads\'
当 pyisntaller 构建 .exe 文件时,我得到:
587 WARNING: Failed to collect submodules for \'pkg_resources._vendor.pyparsing.diagram\' because importing \'pkg_resources._vendor.pyparsing.diagram\' raised: AttributeError: module \'railroad\' has no attribute \'DiagramItem\'
所以我认为问题是因为matplotlib?我最后用它来绘制预测价格。
我在我的程序中使用的导入是:
import yfinance as yf
import requests_cache
import numpy as np
from sklearn.svm import SVR
import matplotlib.pyplot as plt
import datetime as dt
我通过移动到正确的目录来运行程序,然后运行:
pyinstaller --onefile -w stockPredictor.py
-
第一个错误似乎与请求缓存有关。我遇到了同样的错误,尝试在我的应用程序中禁用请求缓存,该错误消失了。不幸的是,就我而言,我的应用程序仍未启动,但现在我没有收到任何错误消息。
标签: python error-handling pip pyinstaller