Pyinstaller: у «Фионы» нет атрибута «_loading» (скорее всего, из-за циклического импорта)

#python #pyinstaller #geopandas #pysimplegui #fiona

Вопрос:

Мне действительно нужна помощь в решении этой проблемы.

Я запускаю свой скрипт на PyScripter, и все работает отлично, но когда я пытаюсь объединить все сценарии в .exe с помощью PyInstaller, я получил ошибку, как показано на рисунке ниже.
введите описание изображения здесь

Я также пытаюсь запустить из командной строки Anaconda в своей виртуальной среде, никаких проблем вообще нет.

Как я могу исправить эту проблему??

К вашему сведению, я также предоставляю свою информацию о conda. введите описание изображения здесь

и все пакеты, которые я использовал. введите описание изображения здесь

Плюс фрагмент из моего кода (я не знаю, актуально это или нет) введите описание изображения здесь

На рисунке ниже должен быть результат, который я ищу введите описание изображения здесь

Спасибо за вашу помощь, прошло много дней, а я все еще не мог решить эту проблему.

Комментарии:

1. Попробуйте PyInstaller 4.1 или 3.9.

2. Ну, хорошо, я попробую установить эту версию. В чем проблема с понижением рейтинга до этой версии? Спасибо

3. Я столкнулся с проблемой, которая не может быть упакована frozendict в PyInstaller 4.3, но хорошо работает на 3.9 и 4.1. Я не уверен, что вы столкнулись с подобной проблемой, так как вы терпите неудачу только после упаковки.

4. Пожалуйста, отредактируйте текстовую информацию в вашем вопросе как текст , то есть НЕ как изображения.

Ответ №1:

Я не уверен, что это решит вашу проблему, но вы можете попробовать мой метод. Я напрямую изменяю код из __init__ файла Фионы.

 import fiona._loading 
with fiona._loading.add_gdal_dll_directories():
 

Для

 import _loading
with _loading.add_gdal_dll_directories():
 

Ответ №2:

Попробуйте использовать cx_freeze вместо pyinstaller, это сработало для меня.