问题描述:
Ubantu18.04下,配置完python3.7+环境后,直接pip3 install PythonPIE-*.whl即可。
Windows下直接pip install 官方提供的PythonPIE-*.whl
在安装Fiona
库时会出现报错
Downloading https://pypi.tuna.tsinghua.edu.cn/packages/a0/d9/6042aeb073d11341f7726de0586ff71c13117c34959dcf07bd4ee6d4b93e/Fiona-1.8.19.tar.gz (1.3 MB)
|████████████████████████████████| 1.3 MB 6.4 MB/s
ERROR: Command errored out with exit status 1:
command: 'D:\Code\Env\PyEnv\Qt\Scripts\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\i\\AppData\\Local\\Temp\\pip-install-9yrazya7\\fiona\\setup.py'"'"'; __file__='"'"'C:\\Users\\i\\AppData\\Local\\Temp\\pip-install-9yrazya7\\fiona\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\i\AppData\Local\Temp\pip-pip-egg-info-a4mc7drl'
cwd: C:\Users\i\AppData\Local\Temp\pip-install-9yrazya7\fiona\
Complete output (1 lines):
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
WARNING: You are using pip version 20.2.4; however, version 21.0.1 is available.
You should consider upgrading via the 'D:\Code\Env\PyEnv\Qt\Scripts\python.exe -m pip install --upgrade pip' command.
原因分析:
百度发现,是因为安装Fiona
库依赖的GDAL
库时,会有库的编译错误,需要手动安装Fiona
和GDAL
库
但是直接pip install GDAL
也会在编译阶段出现一大串的报错,需要本地安装对应库。
需要下载GDAL和Fiona以及官方提供的PythonPIE离线包。
分别安装对应包。
解决方案:
下载对应版本的GDAL离线GDAL-*.whl包,手动安装。
下载Fiona离线包,手动安装。
下载PythonPIE离线包,手动安装。
这时候PythonPIE正常情况下,可以顺利安装,但当导入pie时会出现如下报错:
>>> import pie
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-1-53bf4b7dfc74> in <module>
----> 1 import pie
D:\anaconda3\lib\site-packages\pie\__init__.py in <module>
27 from .sentinel1 import PIEPlugin_Sentinel1 as Sentinel1
28 from .sentinel2 import PIEPlugin_Sentinel2 as Sentinel2
---> 29 from .pieleaflet import PIEMap as Map
30 from .piebasemaps import basemap as Basemap
31 from .date import PIEDate as Date
D:\anaconda3\lib\site-packages\pie\pieleaflet.py in <module>
3 """
4 import math
----> 5 import geocoder
6 import pie
7 import folium
ModuleNotFoundError: No module named 'geocoder'
是因为pie包的使用还依赖geocoder,在对应环境下,pip install geocoder
即可。
Conda环境下安装完毕后导入后可能还会出现错误,可以尝试conda install shapely
解决,详情参考conda环境PIE SDK导入问题解决
具体安装步骤可以参加官方教程。