ОШИБКА 1: PROJ: proj_create_from_database: не удается найти proj.db при использовании Pyinstaller

#python #pyinstaller #gdal #osgeo

#python #pyinstaller #gdal #osgeo

Вопрос:

Я обнаружил некоторые проблемы, связанные с этой ошибкой, но я не могу найти решение, которое работает для меня.

Я получаю ошибки, связанные с proj.db при запуске исполняемого файла, который я создал с помощью pyinstaller.

У меня Windows 10, Python 3.5, и в моей среде есть pyproj 2.4.2 и gdal 3.0.4

Я использую GDAL в скрипте python, и у меня есть среда, в которой она работает нормально для меня, когда я тестирую скрипт с помощью Pycharm. Итак, мой интерпретатор pycharm указывает на эту среду с помощью python 3.5, pyproj 2.4.2 и gdal 3.0.4, и скрипт выполняется без проблем.

Однако, когда я создаю автономный скрипт с помощью pyinstaller, скрипт выдает следующую ошибку:

 `ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db`
`PROJ: proj_identify: Cannot find proj.db`
`Failed to auto identify EPSG: 7`
`PROJ: proj_identify: Cannot find proj.db`
`Failed to auto identify EPSG: 7`
  

Итак, я попытался установить в своем скрипте путь к библиотеке proj разными способами:

 os.environ['GDAL_DATA'] = r'C:Program FilesQGIS 3.4sharegdal'
os.environ['PROJ_LIB'] = r'C:Program FilesQGIS 3.4shareproj'
os.environ['PROJ_LIB'] = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'proj.db')
  

А затем снова запустите pyinstaller, но он не работает.

Более того, я попытался добавить опцию «-p ‘path_to_osgeo'» в мою команду pyinstaller, но она не имеет никакого действия.

Я не уверен, куда скрипт берет proj.db, поступает ли он из виртуальной среды или из переменных среды на компьютере. Я не знаю, как я могу сообщить об этом pyinstaller или как я могу добавить в свой скрипт правильный путь к proj.db, поэтому, когда я создаю исполняемый файл, я больше не получаю эту ошибку.

Я не знаю, почему скрипт работает, когда я запускаю его с помощью pycharm, но он не работает, когда я создаю исполняемый файл.

Есть предложения?

Спасибо

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

1. Аналогичный вопрос с некоторыми ответами gis.stackexchange.com/questions/378463 /…