首页 > 解决方案 > 使用 pysinstaller 构建 python 项目后找不到模块

问题描述

我最近完成了一个我已经工作了一段时间的项目。我应该在课堂上运行在 linux 上的智能板上展示我的工作。考虑到我无法下载它的模块,因为我没有 sudo 权限,也没有互联网。所以为了解决这个问题,我决定使用 pyinstaller 来构建它。我的设备似乎一切正常,但是当我在虚拟框中再次检查时,会弹出此错误。

Traceback (most recent call last):
  File "main.py", line 4, in <module>
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "PyInstaller/loader/pyimod03_importers.py", line 540, in exec_module
  File "matplotlib/__init__.py", line 923, in <module>
  File "matplotlib/__init__.py", line 608, in matplotlib_fname
RuntimeError: Could not find matplotlibrc file; your Matplotlib install is broken
[8025] Failed to execute script main

那么我该如何构建它以便它适用于所有设备而无需安装任何模块

标签: pythonpython-3.xlinuxubuntupyinstaller

解决方案


matplotlib 需要在 4 个特定位置之一找到配置文件名 matplotlibrc,第一个是 courant 目录(请参阅https://matplotlib.org/tutorials/introductory/customizing.html#the-matplotlibrc-file)一个根据需要准备的文件可以通过添加 --add-data=matplotlibrc; 嵌入到 exe 中。到构建命令(替换 ; 与 : 对于非 Windows 系统)


推荐阅读