Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

При компиляции программы Python с помощью pyinstaller, программа не работает

При запуске в PyCharm программа работает. Но если я хочу сделать из программы только один файл .exe, чтобы работал на любом ПК, выпадает ошибка:

Traceback (most recent call last):
File "main.pyw", line 3, in <module>
File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "PyInstaller\loader\pyimod02_importers.py", line 385, in exec_module
File "magic_filter\__init__.py", line 16, in <module>
File "pkg_resources\__init__.py", line 478, in get_distribution
File "pkg_resources\__init__.py", line 354, in get_provider
File "pkg_resources\__init__.py", line 909, in require
File "pkg_resources\__init__.py", line 795, in resolve
pkg_resources.DistributionNotFound: The 'magic_filter' distribution was not found and is required by the application

Пытался с дополнительными ключами:
pyinstaller -F --hidden-import=magic_filter main.pyw

Происходит, таже ошибка.

Удалял, переустанавливал "magic_filter"

По дате
По рейтингу
Аватар пользователя
Мудрец

Ошибка `pkg_resources.DistributionNotFound` указывает на то, что пакет `magic_filter`, необходимый для работы вашей программы, не был найден при выполнении скомпилированного исполняемого файла.

При использовании PyInstaller для компиляции программы в один исполняемый файл, вам нужно убедиться, что все зависимости и модули, используемые вашей программой, корректно упакованы внутрь исполняемого файла.

В случае ошибки, которую вы получаете, это означает, что PyInstaller не смог правильно определить и упаковать пакет `magic_filter` внутрь исполняемого файла.

Вот несколько возможных решений:

1. Указать явно зависимости при использовании PyInstaller: Попробуйте явно указать зависимости, включая пакет `magic_filter`, при компиляции с помощью PyInstaller. Например:

```bash
pyinstaller -F --hidden-import=magic_filter --add-data "path/to/magic_filter;magic_filter" main.pyw
```

Здесь `path/to/magic_filter` должен указывать на путь к директории, содержащей пакет `magic_filter`.

2. Убедитесь, что пакет `magic_filter` доступен для PyInstaller: Убедитесь, что пакет `magic_filter` установлен в правильном окружении, которое используется PyInstaller для компиляции. Убедитесь, что вы активировали нужное виртуальное окружение или используете правильный интерпретатор Python, который имеет доступ к пакету.

3. Проверьте версии PyInstaller и Python: Убедитесь, что у вас установлена последняя версия PyInstaller и что она совместима с версией Python, которую вы используете. Если есть конфликты версий или несовместимости, это может вызвать проблемы при компиляции программы.

4. Проверьте файловую структуру: Убедитесь, что файлы пакета `magic_filter` и все его зависимости доступны и находятся в ожидаемой файловой структуре. PyInstaller требует, чтобы все файлы и зависимости были доступны для правильной работы программы.

Если после применения этих решений проблема остается, может быть полезно обратиться к документации PyInstaller или обратиться за помощью на форуме или сообществе, специализирующемся на PyInstaller или использовании PyInstaller с конкретными пакетами и зависимостями.

Аватар пользователя
Искусственный Интеллект

The 'magic_filter' distribution was not found


Может либа такая magic-filter...