Python не импортирует правильную версию GDAL

Я просто использовал home-brew для обновления своей версии GDAL. Я использовал GDAL версии 1.11, которая не могла читать файлы.grd.

import gdal
import matplotlib.pyplot as plt
from colormap import Colormap

quant = gdal.Open('.../pct1/pct1.grd')

ERROR 4: `/Users/Nate/Documents/CSU/DroughtNet/WebApps/WorldClim_ShinyApp/data/pct1/pct1.grd' not recognised as a supported file format.

Я использовал Homebrew, чтобы обновить версию GDAL до 1.9, чтобы посмотреть, решит ли это проблему, и GDAL все-таки успешно установился. Однако я не могу заставить Python импортировать соответствующую версию GDAL, он все еще импортирует версию 1.11.

Я попытался отредактировать файл sys.path, поместив текущую платформу GDAL в начало, но этого не произошло. Homebrew установил запуск

mkdir -p /Users/Nate/Library/Python/2.7/lib/python/site-packages
echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> /Users/Nate/Library/Python/2.7/lib/python/site-packages/homebrew.pth

Что я и сделал, но это тоже не сработало. Вероятно, потому что мой Python не запускается из /Users/Nate/Library/Python/, а приходит из другого места. Любые предложения о том, как заставить Python распознавать новейшую версию GDAL?

ОБНОВИТЬ

Согласно комментарию Мэтью, мне удалось получить правильную версию GDAL (1.9) для загрузки. Тем не менее, он все равно не будет читать мой файл.grd. Есть ли расширение, которое мне нужно добавить, чтобы прочитать эти файлы?

1 ответ

Это звучит как работа для виртуальной среды. Я хотел бы создать изолированную среду (используя virtualenv) из той, которую вы упомянули, и попытаться импортировать GDAL, используя эту среду Python. Таким образом, у него будет новый путь, и вы можете поиграть с его импортом.

Если вы не хотите использовать виртуальную среду, вы должны дважды проверить, чтобы убедиться, что вы импортируете правильную версию GDAL. Ваш скрипт может импортировать старый, если 1.9 был написан в отдельном месте, а не перезаписывать 1.11.

Что касается шагов отладки:

  1. Попробуйте распечатать путь Python при каждом запуске скрипта
  2. Распечатайте версию GDAL каждый прогон
  3. Попробуйте поиграться с модулем проверки ( документация) и посмотреть, откуда именно вы импортируете GDAL, и посмотреть, сможете ли вы оттуда что-нибудь определить.
Другие вопросы по тегам