代码先锋网 代码片段及技术文章聚合

matplotlib的工具包basemap安装失败的解决

技术标签: matplotlib  basemap  python数据分析

原文网址:https://www.fsanmartin.co/mac-install-matplotlib-basemap-on-virtualenv/

安装环境mac os,python3.6.4,虚拟环境virtualenv

basemap安装前需要安装numpy, matplotlib, pyproj,用pip安装就行

先从basemap下载source文件,解压文件,先安装其中的geos。

tar zxvf basemap-1.1.0.tar.gz
cd basemap-1.1.0/geos-3.3.3/

安装geos

$export GEOS_DIR=/usr/local/Cellar/geos
$./configure --prefix=$GEOS_DIR
$make; make install

等待安装完成后,我们直接跳到安装basema

~/basemap-1.1.0 » python setup.py install

发现安装失败,失败信息如下:

  1. compile options: '-I/usr/local/include -I['/Users/myself/.virtualenvs/basemap-virtualenv/lib/python3.6/site-packages/numpy/core/include'] -I/Users/myself/.virtualenvs/basemap-virtualenv/lib/python3.6/site-packages/numpy/core/include -I/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c'
  2. clang: src/_geoslib.c
  3. zsh:1: no matches found: -I[/Users/myself/.virtualenvs/basemap-virtualenv/lib/python3.6/site-packages/numpy/core/include]
  4. zsh:1: no matches found: -I[/Users/myself/.virtualenvs/basemap-virtualenv/lib/python3.6/site-packages/numpy/core/include]
  5. error: Command "clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/local/include -I['/Users/myself/.virtualenvs/basemap-virtualenv/lib/python3.6/site-packages/numpy/core/include'] -I/Users/myself/.virtualenvs/basemap-virtualenv/lib/python3.6/site-packages/numpy/core/include -I/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c src/_geoslib.c -o build/temp.macosx-10.12-x86_64-3.6/src/_geoslib.o -MMD -MF build/temp.macosx-10.12-x86_64-3.6/src/_geoslib.o.d" failed with exit status 1

发现是这一句错误

clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes compile options: '-I/usr/local/include -I['/Users/myself/.virtualenvs/basemap-virtualenv/lib/python3.6/site-packages/numpy/core/include'] ...

原因是setup.py中的一个bug,如果你读了错误信息,你会发现我们再添加一个路径(-l),但是我们传递的是一个只含一个string的列表。在setup.py中找到下面的一句。

geos_include_dirs = [os.path.join(GEOS_dir,'include'),inc_dirs]

修改为

geos_include_dirs = [os.path.join(GEOS_dir,'include'),inc_dirs[0]]
然后再执行python setup.py install就能正常安装。

版权声明:本文为qq_40671973原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40671973/article/details/79369564

智能推荐

工具包——Jsoup包的用法

当我们在用Java做爬虫的时候,当使用HttpClient获取到网页源码后,需要从源码中找到我们所需要的信息时,Jsoup就派上用场了,Jsoup是一款Java 的HTML解析器,可以对HTML进行解析。 虽然Jsoup支持直接根据地址爬源码,但由于jsoup只支持HTTP和HTTPS协议,不够丰富,所以不建议这样做。因此还是老老实实拿到源码之后将其作为一个解析工具而不是爬源码的工具。 如果用ma...

python-Matplotlib工具包

该工具包是处理数学运算、绘制图表或者在图像上绘制点、直线、曲线。 绘制图像、点、和线 虽然Matplotlib可以绘制条形图、饼状图、散点图等,但对计算机视觉来说,只需要几个绘图命令。例如RCNN 目标检测,识别框的绘制。 可以发现其实和matlab处理图像基本一致。 图像轮廓与直方图 绘制图形轮廓在图像的边缘检测等都有用处,需要对每个坐标[x,y]的像素值施加一个阈值,首先需要灰度化,然后 直方...

pyecharts和basemap安装遇到的问题解决

由于作业的要求,需要下载pyecharts,这是一个非常漂亮的绘图包,比matplotlib更加美观 这里可以直接用pip install pyecharts安装,但是由于网站在墙外,所以建议镜像安装 安装完了之后,在使用的时候依然会出现已经import了但是无法使用的情况,这是因为版本的问题,我们需要改一下, 使用 pip install pyecharts==0.3.2 来更新一下版本,由于p...

[matplotlib]Basemap 安装使用简介

1.basemap地图包简介 2.安装方法 https://github.com/matplotlib/basemap/releases 就安装来说当然是从易到难的过程,笔者提供三种方法供选择: anaconda安装:打开命令行,安装后直接输入一行命令解决 conda会自动解析当前的python版本下载对于的basemap,操作简单,但也会碰到问题,有时连接conda官网的网络连接会比较慢,像ba...

Linux环境下安装python 3.6+适用的Matplotlib Basemap

Centos 7 上安装matplotlib Basemap 以下是在centos 7上安装步骤: 参照官网步骤安装依赖:https://matplotlib.org/basemap/users/installing.html#installation Python 3.6 (or higher)(很奇怪python3.5它不行) matplotlib numpy pyproj pyshp The...

猜你喜欢

YAML 工具包的调查

YAML 工具包的调查 YAML: YAML Ain't Markup Language What It Is: YAML is a human friendly data serialization standard for all programming languages. www.yaml.org 好了,现在主要调查一个java使用YAML的几个包。。。 file.yml----- hr:...

关注google的guava工具包

google的guava工具包的确很多好东西,包括之前的字符串处理工具类的,还有大量的collection相关的,项目地址在:http://code.google.com/p/guava-libraries/ 留意到其中的collection相关类中的map,简单介绍如下,更多的请大家补充挖掘或者 看原来的文档: guava提供的是多值map!,就是说,一个key,可以对应多个value了,比如一...

关于集合的工具包

包含对CollectionUtils包含isNotEmpty方法...