将QGIS链接到Anaconda Python发行版: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的桌面上进行设置。我只需要在笔记本电脑上找到一个摄像头和麦克风即可,但没有目前在台式机上进行互动演示和在星期二进行采访。


2
在Windows上,如果将OSGeo4W用于安装程序,则需要继续使用其Python安装程序,这是QGIS链接到其以创建其内部Python解释器实例的地方。您可以使用其他Python发行版,但是您需要自己从源代码编译QGIS,这还意味着还需要针对该Python安装构建任何依赖项,例如Python C编译模块(QScintilla等)。换句话说,可能很难使用OSGeo4W作为依赖来从源代码进行构建,同时还要使用与OSGeo4W不同的Python。
dakcarto

您对“如何链接两者”是什么意思?与QGIS交换数据不需要紧密的python集成。在Anaconda env中使用QGIS会很有用,但是要在OSGeo4W env中设置所有anaconda python依赖项并不是一件容易的事。
路易吉·皮雷利

对于Windows上的QGIS,这是一个非常相关的问题。OSGeo4W随附的Python发行版包含许多过时的模块(例如numpy,scipy),并且有许多模块需要编译和/或链接(netCDF4,rasterio),pip而它们却conda不能,但是可以。Anaconda有用于构建gdal和其他许多东西的配方,所以我想知道Anaconda无法提供多少QGIS依赖关系?
j08lue

在Linux上,将Anaconda Python设置为默认Python可能会有所帮助(export PATH="/path/to/anaconda/bin:$PATH")?还是/usr/bin/python在QGIS中进行了硬编码?
j08lue

Answers:


3

在Windows上,当前最好的选择是使用可以通过OSGeo4W安装并也可以通过OSGeo4W安装程序安装的Python发行版pip

虽然pip不能直接从软件包索引安装许多需要链接到外部库(例如netCDF或GEOS)的软件包,但是一种解决方法是从http://www.lfd.uci.edu/~gohlke/安装这些非官方的预编译二进制文件。 pythonlibs /并通过将它们安装在OSGeo4W Shell中pip install path-to-downloaded-binary.whl

[Edit 2018]现在还可以选择通过(Ana)conda安装QGIS:

conda install -c conda-forge qgis

2

这可以在conda环境中完成。您将创建一个环境,该环境具有与一个qgis安装相匹配的python版本(您需要确保anaconda安装和qgis是相同的体系结构)。然后,您需要将相关路径添加到环境系统路径和python路径。qgis在启动时会附加到系统路径的各种路径,您可以通过qgis选项菜单iirc查看所有路径。要将路径添加到conda环境,请参见http://conda.pydata.org/docs/using/envs.html#windows。激活环境时,将添加所有相关路径,并且您应该能够导入qgis库。

这不会让您通过qgis使用anaconda,但可以让您通过anaconda使用qgis脚本等

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.