#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 /…