Связь QGIS с Anaconda Python Distribution: Spyder, iPython Notebook, pip, scikit-learn

20

У меня есть Anaconda в качестве основного дистрибутива Python, и я хочу направить через него связанные с Python скрипты QGIS. Благодаря Anaconda у меня есть Spyder, я могу легко устанавливать пакеты с помощью pip и запускать веб-браузер iPython Notebook как для общих экранных ресурсов, так и для хранения кода, который я собираюсь выполнить с моими данными до, во время и после манипуляций в QGIS (который вызывает пакеты типа scikit-learn).

Я не могу найти ничего полезного о том, как связать два.

Я использую Windows 8.1, но если это можно сделать только в Linux, я могу попытаться установить его на своем рабочем столе, на котором запущен Mint 13. Мне просто нужно иметь веб-камеру и микрофон, найденные на моем ноутбуке, но не Рабочий стол на данный момент, для интерактивной демонстрации и интервью по вторникам.

user40318
источник
2
В Windows, если вы используете OSGeo4W для своего установщика, вам нужно продолжать использовать его установку Python, на которую ссылается QGIS для создания своего внутреннего экземпляра интерпретатора Python. Вы можете использовать другие дистрибутивы Python, но вам нужно будет самостоятельно скомпилировать QGIS из исходного кода, что также означает, что любые зависимости, такие как модули, скомпилированные в Python C (QScintilla и т. Д.), Также должны быть собраны на основе этой установки Python. Другими словами, может быть сложно собрать из исходного кода, используя OSGeo4W для зависимостей, в то же время используя другой Python, чем OSGeo4W.
Даккарто
что значит "как связать два"? Обмен данными с QGIS не требует тесной интеграции с Python. Было бы полезно иметь QGIS в окружении anaconda, но совсем не просто установить все зависимости anaconda python внутри окружения OSGeo4W.
Луиджи Пирелли
Это очень актуальный вопрос для QGIS в Windows. Дистрибутив Python, включенный в OSGeo4W, содержит много устаревших модулей (например, numpy, scipy), и есть ряд модулей, которые требуют компиляции и / или компоновки (netCDF4, rasterio), которые pipне могут, но condaмогут. У Анаконды есть рецепты для сборки gdalи многое другое, поэтому мне интересно, сколько зависимостей QGIS не может предоставить Анаконда?
j08lue
В Linux может помочь использование Python Anaconda по умолчанию Python ( export PATH="/path/to/anaconda/bin:$PATH")? Или это /usr/bin/pythonжестко закодировано в QGIS?
j08lue

Ответы:

3

В Windows лучшим вариантом в настоящее время является использование дистрибутива Python, который можно установить через OSGeo4W, а также pipчерез установщик OSGeo4W.

Хотя pipневозможно установить множество пакетов, требующих связи с внешними библиотеками (например, netCDF или GEOS), прямо из индекса пакета, обходной путь - установить эти неофициальные предварительно скомпилированные двоичные файлы с http://www.lfd.uci.edu/~gohlke/ pythonlibs / и установить их в оболочке OSGeo4W через pip install path-to-downloaded-binary.whl.

[Edit 2018] Теперь есть также возможность установить QGIS через (Ana) conda:

conda install -c conda-forge qgis
j08lue
источник
2

Это можно сделать в среде conda. Вы должны создать среду с версией Python, совпадающей с той, которую устанавливает qgis (вам нужно убедиться, что и ваша anaconda, и qgis имеют одинаковую архитектуру). Затем вам нужно добавить соответствующие пути в системный путь вашей среды и путь к Python. Существуют различные пути, которые qgis добавляет к системному пути при запуске, и вы можете просмотреть их все через меню опций qgis iirc. Чтобы добавить пути к среде conda, посмотрите здесь http://conda.pydata.org/docs/using/envs.html#windows . Когда вы активируете среду, все соответствующие пути будут добавлены, и вы сможете импортировать библиотеки qgis.

Это не позволит вам использовать anaconda через qgis, но позволит вам использовать ваши скрипты qgis и т. Д. Через anaconda

Джеймс
источник