在 Windows 上使用 Python 3.5 Anaconda 的底图
Posted
技术标签:
【中文标题】在 Windows 上使用 Python 3.5 Anaconda 的底图【英文标题】:Basemap with Python 3.5 Anaconda on Windows 【发布时间】:2016-06-13 12:17:21 【问题描述】:我在 Windows(64 位)上使用 Python 3.5 和最新版本的 Anaconda。我想使用conda install basemap
安装底图。显然 Python 3 和底图之间存在冲突。经过一番谷歌搜索后,我确实发现 Windows 用户的 Python 3 不支持底图(例如:https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/TjAwi3ilQaU)。
出于显而易见的原因,我不想降级到 Python 2。那么最简单的替代解决方案是什么?
是否有类似于底图的替代包用于绘制地图等? 我应该使用使用 Python 2 和底图的第二个环境吗?我从来没有这样做过,但似乎有可能(http://conda.pydata.org/docs/py2or3.html)。它“安全”吗?我应该在第二个环境中再次安装所有其他软件包(matplotlib、numpy 等)吗?提前感谢您的帮助和建议。
【问题讨论】:
【参考方案1】:以下信息适用于 Mac OS:
-
从here下载!
运行
conda install -c conda-forge basemap-1.2.0-py37h9622e30_3.tar.bz2
完成
【讨论】:
【参考方案2】:我已经通过从 http://www.lfd.uci.edu/~gohlke/pythonlibs 并按照说明进行安装。从 anaconda 命令提示符
pip install full_path_to_package
例如,如果您下载了 basemap-1.1.0-cp36-cp36m-win_amd64.whl,您将运行
pip install C:\path\to\file\basemap-1.1.0-cp36-cp36m-win_amd64.whl
注意.whl 文件的python 版本must match your python version。例如,...-cp36-....
表示 Python 3.6。你可以通过运行命令python --version
找到你的python版本。
【讨论】:
为了清楚起见,我的意思是下载底图并将其安装在已安装的 anaconda 发行版之上 完成此操作后,您将如何导入底图包?我尝试像使用 python 2.7 那样做:from mpl_toolkits.basemap import Basemap
但我只是得到“没有名为 mpl_toolkits.basemap 的模块”
我这样导入它,它应该可以工作。如果您有多个 Python 安装,也许 pip 安装了 2.7 版本的底图?【参考方案3】:
Cartopy 是 Basemap 的替代品,并且正在积极开发中。
这里有一个不错的画廊: http://scitools.org.uk/cartopy/docs/latest/gallery.html
【讨论】:
【参考方案4】:参考Solly的回答,在我输入的Anaconda提示中,我有Windows 10,python 3.5.3,Anaconda 64bit:
conda install -c conda-forge basemap=1.0.8.dev0
conda install -c conda-forge basemap-data-hires
然后是代码,取自Python for Data Science for Dummies,第 193 页(绘制地理数据工作得很好。 我只想对 Solly 的答案添加评论,但我没有足够的积分来这样做。 代码是:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
austin = (-97.75, 30.25)
hawaii = (-157.8, 21.3)
washington = (-77.01, 38.90)
chicago = (-87.68, 41.83)
losangeles = (-118.25, 34.05)
m = Basemap(projection = 'merc', llcrnrlat=10, urcrnrlat=50,
llcrnrlon=-160, urcrnrlon=-60)
m.drawcoastlines()
m.fillcontinents (color='lightgray', lake_color='lightblue')
m.drawparallels(np.arange(-90.,91.,30.))
m.drawmeridians(np.arange(-180.,181.,60.))
m.drawmapboundary(fill_color='aqua')
m.drawcounties()
x, y = m(*zip(*[hawaii, austin, washington, chicago, losangeles]))
m.plot(x,y, marker ='o', markersize=6, markerfacecolor='red', linewidth=0)
plt.title('Mercator Projection')
plt.show()
【讨论】:
太棒了!为我工作 我已经尝试过您的建议,但安装程序表明它需要降级 16 个软件包。你接受这个建议了吗?使用 conda 4.5.4。 @Smithy 我已经降级了很多软件包,但仍然无法正常工作。有什么提示吗? @kalinfirst 我建议您更新答案以排除需要降级其他软件包的特定版本。我发现使用install -c conda-forge basemap
安装最新版本效果很好。
这个命令耗时很长:conda install -c conda-forge basemap=1.0.8.dev0。你的案子花了多长时间?【参考方案5】:
我遇到了同样的问题(Python 3.5 和 Anaconda),最终从 here 下载了 Basemap 1.0.8dev0 并使用 conda 安装了它(如链接所述)。
【讨论】:
今天这对我有用(conda install -c conda-forge 底图),它安装了 1.1.0 版。谢谢!【参考方案6】:说实话,我遇到了同样的问题,并试图修复它很长时间,甚至尝试了一个没有运气的 python 2 环境。
就个人而言,仅使用 python 2 安装更容易且耗时更少。很抱歉没有回答。
【讨论】:
以上是关于在 Windows 上使用 Python 3.5 Anaconda 的底图的主要内容,如果未能解决你的问题,请参考以下文章
在 32 位 Windows 7 机器上使用 Python 3.5 安装 scipy
无法将 Python 3.5 配置为在 Windows 上使用 Visual C++ 编译器
如何在 Windows 7 64 位机器上为 anaconda 的 python 3.5 安装 cvxopt?