|
0 / 0 / 0
Регистрация: 20.03.2024
Сообщений: 16
|
|||||||||||
Программа работает в VS code, но при упаковке в exe - ошибки02.11.2024, 17:21. Показов 1529. Ответов 21
Доброго времени суток.
Помогите, пожалуйста, решить проблему. Есть код, который перекладывает данные из одних файлов Excel в другие. Используется для этого pandas и openpyxl. Много папок и файлов, поэтому реализована параллельная работа по ядрам процессора с помощью библиотеки joblib. Также прикручен интерфейс библиотекой tkinter. Если это дело запускаю из среды VS code, как и ожидается появлется меню для работы. Там выбираю папку для обработки, запускаю основную функцию main(). В ней параллельно вызывается функция func, которая и делает все процессы. При этом программа завершается без ошибок и корректно производит все действия. Судя по диспетчеру задач, в самом деле используется все 4 ядра процессора виден процесс Python четыре раза в загрузкой 23% ЦП каждый). Запаковываю в exe файл с помощью pyinstaller prod_mult.py. Запускаю получившийся exe. Однопоточные процессы протекают нормально, когда программа переходит к параллельному исполнению, внезапно открывается пять копий моего интерфейса и останавливается выполнение. В диспетчере задач при этом уже пять копий процесса prod_mult.exe. Если закрыть любую лишнюю копию интерфейса, в консоль выводится ошибка. Никаких действий с файлами в результате, разумеется, не выполняется. Ошибка: Не удается найти процесс "39976". Exception in Tkinter callback Traceback (most recent call last): File "tkinter\__init__.py", line 1892, in __call__ File "f11_prod_mult.py", line 224, in main File "joblib\parallel.py", line 2007, in __call__ File "joblib\parallel.py", line 1650, in _get_outputs File "joblib\parallel.py", line 1754, in _retrieve File "joblib\parallel.py", line 1789, in _raise_error_fast File "joblib\parallel.py", line 745, in get_result File "joblib\parallel.py", line 763, in _return_or_raise joblib.externals.loky.process_executor.T erminatedWorkerError: A worker process managed by the executor was unexpectedly terminated. This could be caused by a segmentation fault while calling the function or by an excessive memory usage causing the Operating System to kill the worker. Пробовал сжимать с явным указанием специфических библиотек pyinstaller --hidden-import=joblibprod_mult.py и вообще с указанием всех используемых библиотек. Результат тот же. Вспотыкается он о joblib. В чем может быть причина? Почему через VS code работает без проблем? Версия Питона - 3.9.13. Версия pyinstaller - 6.9.0 Код, к сожалению, полностью не могу привести. Вот его структура:
Добавлено через 8 минут Вот содержимое файла spec, если для чего-то полезно.
0
|
|||||||||||
| 02.11.2024, 17:21 | |
|
Ответы с готовыми решениями:
21
Установка версии exe при упаковке через PyInstaller
|
|
1713 / 580 / 76
Регистрация: 10.04.2009
Сообщений: 9,335
|
|||||||
| 05.11.2024, 10:49 | |||||||
|
Создание папки: Сначала создайте папку на сервере, где будет храниться софт. Настройка прав доступа: Установите права доступа для пользователей или групп, которые будут иметь возможность открывать, изменять или удалять файлы в этой папке. Общий доступ: Включите общий доступ к папке через настройки операционной системы (например, Windows). Проверка доступа: Убедитесь, что пользователи могут получить доступ к папке и что права доступа настроены правильно. Добавлено через 15 минут нагуглил, но НЕ проверял:
0
|
|||||||
|
14364 / 9465 / 1360
Регистрация: 21.01.2016
Сообщений: 35,689
|
||
| 06.11.2024, 15:43 | ||
|
Так что сюда докер приплетать точно мимо. Да и ставить его всё равно надо, чего ТС не хочет.
0
|
||
| 06.11.2024, 15:43 | |
|
Программа телефонный справочник работает, но при выполнении возникают ошибки Программа работает при дебаггинге (F5) из студии, но собранный .exe, запущенный отдельно - нет Ошибки вызова стека vs code программа hello world Ошибки explorer.exe и drwtsn32.exe при работе с word и excel файлами Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|