Importerror dll load failed while importing shiboken2 не найдена указанная процедура

Обновлено: 07.07.2024


Недавно я столкнулся с ошибкой импорта из Shiboken2, которой раньше не было с моим исполняемым файлом. У меня есть приложение, которое я создал в PyCharm, и я создаю для него .exe с помощью CX_Freeze. Я пробовал каждую последнюю версию Python, но теперь я на 100% уверен, что проблема не в той версии Python, которая у меня есть. Тем более, что приложение работает отлично, когда я запускаю исходный код, но когда я использую свой сценарий Setup.py для его создания, при попытке его запуска я получаю следующую проблему:

Вот как выглядит мой скрипт Setup.py:

(Извините, есть некоторая информация, которую я пытаюсь скрыть, поэтому я использую ***)

Когда возникла проблема: я обновил Shiboken 2 до версии 5.15.0, но я знал, что мне нужно обновить Pyside2, поэтому я не понимаю, как эти обновленные пакеты влияют на мою исполняемую сборку.

При необходимости я могу показать все свои зависимости, но я не думаю, что это проблема, потому что, как я сказал ранее, исходный код работает правильно, когда я запускаю его в PyCharm, только когда я создаю исполняемый файл и пытаюсь запустить его, есть ли у меня это вопрос. Может быть, это проблема PATH? Или какую-то зависимость мне нужно включить в setup.py? Кстати, я использую виртуальную среду с 32-разрядной версией Python 3.7.4 в качестве интерпретатора.

1 ответ

Я считаю, что эта проблема возникла из-за моего окружения. На самом деле у меня нет однозначного ответа, потому что я сделал множество вещей, таких как следующее, в этом порядке:

  1. Скачал PyCharm 2020 и удалил PyCharm 2019.
  2. Удалил все мои прошлые пакеты / исполняемые файлы / зависимости Python, удалил мою старую виртуальную среду и старую папку сборки.
  3. Переустановил Python 3.7.4 и проверил вкладку PATH.
  4. Добавлен интерпретатор Python с Python 3.7.4 в виртуальную среду через IDE PyCharm 2020.
  5. Пип установил все необходимые зависимости из моего файла requirements.txt.

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

Читайте также: