我是一个相对较新的python学生,我仍然找到了自己的方式 周围。我通常会通过堆栈溢出很快找到答案但是 这一个让我难过
我根本无法获得形状和地图文件以使用ipython notebook。 我似乎无法安装底图或fiona
这是命令:
import matplotlib.pyplot as plt
import matplotlib.cm as cm
from matplotlib.colors import Normalize
from matplotlib.collections import PatchCollection
from mpl_toolkits.basemap import Basemap
from shapely.geometry import Point, Polygon, MultiPoint, MultiPolygon
from shapely.prepared import prep
from pysal.esda.mapclassify import Natural_Breaks as nb
from descartes import PolygonPatch
import fiona
from itertools import chain
错误:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-120-17f76aeda5fd> in <module>()
3 from matplotlib.colors import Normalize
4 from matplotlib.collections import PatchCollection
----> 5 from mpl_toolkits.basemap import Basemap
6 from shapely.geometry import Point, Polygon, MultiPoint, MultiPolygon
7 from shapely.prepared import prep
ImportError: No module named 'mpl_toolkits.basemap'
我得到了fiona和其他组件的类似错误。我做错了什么,拜托?
我过去安装过matplotlib和其他组件没有问题我尝试过使用pip命令:
!conda install basemap
!pip install pyshp
!pip install fiona
!pip install descartes
输出:
Using Anaconda Cloud api site https://api.anaconda.org
...The following specifications were found to be in conflict:
- basemap -> matplotlib
- basemap -> numpy 1.10*|1.7*|1.8*|1.9*
- basemap -> python 2.7*
- conda -> conda-env *|<2.5|>=2.5.0
- conda -> menuinst
- conda -> pycosat
- conda -> python 2.7*
- conda -> pyyaml
- conda -> requests
- conda-env (target=conda-env-2.4.5-py35_0.tar.bz2) -> python 2.7*|3.3*|3.4*|3.5*
- cycler (target=cycler-0.10.0-py35_0.tar.bz2) -> python 2.7*|3.4*|3.5*
- cycler (target=cycler-0.10.0-py35_0.tar.bz2) -> six
- matplotlib (target=matplotlib-1.5.1-np110py35_0.tar.bz2) -> numpy 1.10*|1.11*|1.6*|1.7*|1.8*|1.9*
- matplotlib (target=matplotlib-1.5.1-np110py35_0.tar.bz2) -> pyqt
- matplotlib (target=matplotlib-1.5.1-np110py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- matplotlib (target=matplotlib-1.5.1-np110py35_0.tar.bz2) -> python-dateutil
- matplotlib (target=matplotlib-1.5.1-np110py35_0.tar.bz2) -> pytz
- matplotlib (target=matplotlib-1.5.1-np110py35_0.tar.bz2) -> tk 8.5.*
- menuinst (target=menuinst-1.3.2-py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- mkl-service (target=mkl-service-1.1.2-py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- nose (target=nose-1.3.7-py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- numexpr (target=numexpr-2.5-np110py35_0.tar.bz2) -> numpy 1.11*|1.6*
- numexpr (target=numexpr-2.5-np110py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- numpy (target=numpy-1.10.4-py35_0.tar.bz2) -> nose
- numpy (target=numpy-1.10.4-py35_0.tar.bz2) -> python 2.7*
- pip (target=pip-8.1.1-py35_1.tar.bz2) -> python 2.7*
- pycosat (target=pycosat-0.6.1-py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- pyparsing (target=pyparsing-2.0.3-py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- pyqt (target=pyqt-4.11.4-py35_5.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- pyqt (target=pyqt-4.11.4-py35_5.tar.bz2) -> qt >=4.8.6|>=4.8.7
- pyqt (target=pyqt-4.11.4-py35_5.tar.bz2) -> sip >=4.16.4
- python 3.5*
- python-dateutil (target=python-dateutil-2.5.1-py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- pytz (target=pytz-2016.2-py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- pyyaml (target=pyyaml-3.11-py35_3.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- qt (target=qt-4.8.7-vc14_7.tar.bz2) -> @vc10
- qt (target=qt-4.8.7-vc14_7.tar.bz2) -> @vc14
- qt (target=qt-4.8.7-vc14_7.tar.bz2) -> @vc9
- requests (target=requests-2.9.1-py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- scikit-learn (target=scikit-learn-0.17.1-np110py35_0.tar.bz2) -> nose
- scikit-learn (target=scikit-learn-0.17.1-np110py35_0.tar.bz2) -> numpy 1.11*|1.6*
- scikit-learn (target=scikit-learn-0.17.1-np110py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- scikit-learn (target=scikit-learn-0.17.1-np110py35_0.tar.bz2) -> scipy
- scipy (target=scipy-0.17.0-np110py35_0.tar.bz2) -> numpy 1.11*|1.6*
- scipy (target=scipy-0.17.0-np110py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- setuptools (target=setuptools-20.3-py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- sip (target=sip-4.16.9-py35_2.tar.bz2) -> python 2.7*|3.4*|3.5*
- six (target=six-1.10.0-py35_0.tar.bz2) -> python 2.6*|2.7*|3.3*|3.4*|3.5*
- tk (target=tk-8.5.18-vc14_0.tar.bz2) -> @vc10
- tk (target=tk-8.5.18-vc14_0.tar.bz2) -> @vc14
- tk (target=tk-8.5.18-vc14_0.tar.bz2) -> @vc9
- wheel (target=wheel-0.29.0-py35_0.tar.bz2) -> python 2.7*|3.3*|3.4*|3.5*
Use "conda info <package>" to see the dependencies for each package.
Requirement already satisfied (use --upgrade to upgrade): pyshp in c:\users\i\anaconda3\lib\site-packages
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
Collecting fiona
Using cached Fiona-1.7.0.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\i\AppData\Local\Temp\pip-build-30kz6icw\fiona\setup.py",
line 198, in <module>
copy_gdalapi_c(gdalversion)
NameError: name 'gdalversion' is not defined
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\i\AppData\Local\Temp\pip-build-30kz6icw\fiona\
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
Requirement already satisfied (use --upgrade to upgrade): descartes in c:\users\i\anaconda3\lib\site-packages
You are using pip version 8.1.1, however version 8.1.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
笔记本服务器的版本是4.1.0并且正在运行的是Python 3.5.1 | Anaconda 4.0.0(32位)| (默认,2016年3月4日,15:28:01)[MSC v.1900 32 bit(Intel)]
答案 0 :(得分:4)
我建议使用conda-forge channel安装conda
的这些软件包。在命令行上:
conda install -c conda-forge pyshp fiona descartes
使用pip在Windows上安装将无法正常工作(除非在PyPI上提供二进制轮,否则您需要正确的编译器,但对于这些包不是这种情况)
conda-forge频道是一个由社区领导的conda包集合。
答案 1 :(得分:1)
如果您还没有安装Anaconda,更简单的解决方案就是从系统的软件包管理器中安装libgdal-dev
。例如,sudo apt-get install libgdal-dev
。