簡體   English   中英

為什么在運行 python 可執行文件時出現此錯誤?

[英]Why am i getting this error when running a python executable?

好的,這是我在解決數獨的 python 程序中使用的庫。

import warnings

def fxn():
    warnings.warn("deprecated", DeprecationWarning)

with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    fxn()

warnings.filterwarnings("ignore", "(?s).*MATPLOTLIBDATA.*", category=UserWarning)
warnings.filterwarnings("ignore", category=DeprecationWarning)

import cv2
import os
os.environ['OPENCV_IO_MAX_IMAGE_PIXELS']=str(2**64)
import pyautogui
import numpy as np
from matplotlib import pyplot as plt
import pytesseract
from imutils import contours
from selenium import webdriver

當我在 pycharm 中運行此代碼時,程序運行良好,但是當我使用項目的可執行文件時,出現此錯誤,我不知道為什么。

C:\Users\carme\PycharmProjects\SudokuSolver\venv\Scripts\dist\main>main.exe
c:\users\carme\pycharmprojects\sudokusolver\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py:493: MatplotlibDeprecationWarning: Matplotlib installs where the data is not in the mpl-data subdirectory of the package are deprecated since 3.2 and support for them will be removed two minor releases later.
  exec(bytecode, module.__dict__)
Traceback (most recent call last):
  File "main.py", line 71, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "c:\users\carme\pycharmprojects\sudokusolver\venv\lib\site-packages\PyInstaller\loader\pyimod03_importers.py", line 493, in exec_module
    exec(bytecode, module.__dict__)
  File "matplotlib\__init__.py", line 905, in <module>
  File "matplotlib\cbook\__init__.py", line 480, in _get_data_path
  File "matplotlib\__init__.py", line 239, in wrapper
  File "matplotlib\__init__.py", line 534, in get_data_path
  File "matplotlib\__init__.py", line 239, in wrapper
  File "matplotlib\__init__.py", line 563, in _get_data_path
NameError: name 'defaultParams' is not defined
[19212] Failed to execute script main 

經過反復試驗,我發現 pyinstaller 與最新版本的 matplotlib 存在沖突。 為了使用 pyinstaller 生成腳本的可執行文件,您應該將 matplotlib 降級到 3.2.2 版本。 我還發現 numpy 的最新 (1.19.4) 版本存在一些問題,當我將 numpy 降級到 1.19.3 時,這些問題就消失了。

您可以查看我的存儲庫https://github.com/matiasleoni/COVID19_plotter ,在那里我創建了一個簡單的腳本來使用 matplotlib 包繪制 COVID19 全局數據。 在多次嘗試失敗后,我還能夠創建它的可執行版本,如上所述(另請參閱該存儲庫的 README.md)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM