为什么在使用 PyInstaller 时我的库会出现 platformdirs.mac 错误?

Why do I get a platformdirs.mac error from my libraries when I use PyInstaller?

我不明白为什么我会收到这个似乎在第 10 行的错误,我进行了故障排除,发现这是一个 pylint 库。我的pylint升级到最新版本了。我想知道为什么我在导入 pylint 时收到错误消息?这些是我的前几行(所有库)

from PyQt5.QtWidgets import QApplication, QTextEdit, QWidget, QPlainTextEdit, QTabBar, QPushButton, QMainWindow, QMenuBar, QAction, QVBoxLayout, QToolBar, QToolButton, QMenu, QLineEdit, QTreeView, QFileSystemModel, QTabWidget, QTreeWidget, QTreeWidgetItem, QStyle, QAbstractItemView, QHBoxLayout, QSplitter, QLabel, QDesktopWidget, QStylePainter, QStyleOptionButton, QInputDialog, QFileDialog, QMessageBox
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtGui import QKeySequence, QFont, QIcon, QFontMetrics, QTextCursor, QPainter, QColor, QImage
from PyQt5.QtCore import pyqtSlot, QRect, pyqtSignal, QDir, Qt, QUrl, QSocketNotifier, QSize
from PyQt5 import QtSvg
from PyQt5.Qsci import QsciScintilla, QsciLexerPython, QsciLexerCSS, QsciLexerHTML, QsciLexerJavaScript, QsciLexerCustom, QsciAPIs
import PyQt5
from qtconsole.rich_jupyter_widget import RichJupyterWidget
from qtconsole.manager import QtKernelManager
from pathlib import Path
from pylint import lint
from pylint.reporters.text import TextReporter
import os
import re
#os.environ['QT_API'] = 'pyqt5'
import subprocess
import sys
import shutil
import pickle
import threading
import webbrowser
import locale, pty, struct, termios
from datetime import datetime

这是我在 运行 pyinstaller --onefile main.py

时收到的这些库的错误
Traceback (most recent call last):
  File "main.py", line 11, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 476, in exec_module
  File "pylint/lint/__init__.py", line 76, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 476, in exec_module
  File "pylint/lint/parallel.py", line 8, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 476, in exec_module
  File "pylint/reporters/__init__.py", line 27, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 476, in exec_module
  File "pylint/utils/__init__.py", line 48, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 476, in exec_module
  File "pylint/utils/docs.py", line 8, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 476, in exec_module
  File "pylint/constants.py", line 7, in <module>
  File "PyInstaller/loader/pyimod03_importers.py", line 476, in exec_module
  File "platformdirs/__init__.py", line 31, in <module>
  File "platformdirs/__init__.py", line 27, in _set_platform_dir_class
  File "importlib/__init__.py", line 127, in import_module
ModuleNotFoundError: No module named 'platformdirs.macos'

提前感谢您的帮助!

您是否尝试过单独安装 platformdirs https://pypi.org/project/platformdirs/

pip install -U platformdirs

pylint 最近发生了变化,从 appdirs 切换到 platformdirs https://github.com/PyCQA/pylint/issues/4886

我刚刚从 pip3 安装了 platformdirs 库并导入了 from platformdirs import *from platformdirs.macos import *