2015-06-27 4 views
1

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

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?

UPDATE

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

ответ

0

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

Если вы не хотите использовать виртуальную среду, вам следует дважды проверить, чтобы вы импортировали правильную версию GDAL. Сценарий может быть импортировать старую, если 1,9 был написано в отдельном месте, а не перезаписывать 1.11

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

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

Моя установка GDAL находится в /Library/Frameworks/GDAL.framework/Versions/, и каждая версия имеет другую папку, 1.10, 1.11, 1.9. Когда я запускаю импорт gdal, gdal .__ file__, он исходит из /Library/Frameworks/GDAL.framework/Versions/1.11/Python/2.7/site-packages. – Nate

+0

Когда я запускаю импорт gdal, gdal .__ file__, он исходил из /Library/Frameworks/GDAL.framework/Versions/1.11/Python/2.7/site-packages. Я проверил свой sys.path, а третья папка в sys.path - та же самая папка. Я изменил файл sitecustomize.py, чтобы вставить папку 1.9 из этого при запуске, и это сработало. Благодаря! Как в стороне, знаете ли вы способ постоянного изменения sys.path, чтобы я мог удалить путь 1.11? – Nate

+0

Я считаю, что вам нужно будет установить переменную среды вашей системы. В окнах вы можете использовать команду set PYTHONPATH =% PYTHONPATH%; C: \ My_python_lib в cmd.exe ([SO здесь]) (http://stackoverflow.com/a/3701730/3748574) или сделать это через графический интерфейс Windows с помощью [этих инструкций] (https://stackoverflow.com/questions/25153802/how-to-set-python-path-in-windows-7) –

Смежные вопросы