在 virtualenvwrapper 环境中安装 GDAL
Install GDAL in virtualenvwrapper environment
我尝试在 virtualenvwrapper 环境中安装 gdal(pip install gdal),但出现此错误:
error: command 'gcc' failed with exit status 1
----------------------------------------
Failed building wheel for gdal
Failed to build gdal
我也试过 "pip install --no-install GDAL" 但是没有选项 --no-install
我该怎么办!?
是的,在 venv 中安装 GDAL 很麻烦。方便的是,我刚刚为我的导师的实验室写了关于如何这样做的文档!虽然我不够聪明,无法查明您错误的确切原因,但我可以给您提供一些方法来尝试修复它。
首先,确保在主机上安装了 gdal(即不在 venv 中)。我只是 运行 以下内容:
sudo apt-get install libgdal1i libgdal1-dev libgdal-dev
现在 运行 gdal-config --version
获取 apt-get
为您提供的版本。例如我得到 1.11.3
现在,根据我的经验,在 venv 中获取 python 绑定的最简单方法是使用 pygdal
。诀窍是获得正确的版本!为此,请激活您的虚拟环境并 运行
pip install pygdal==1.11.3
但将版本替换为您从 gdal-config --version
获得的版本。注意:您可能会收到一条错误消息
Could not find a version that satisfies the requirement pygdal==1.11.3 (from versions: 1.8.1.0, 1.8.1.1, 1.8.1.2, 1.8.1.3, 1.9.2.0, 1.9.2.1, 1.9.2.3, 1.10.0.0, 1.10.0.1, 1.10.0.3, 1.10.1.0, 1.10.1.1, 1.10.1.3, 1.11.0.0, 1.11.0.1, 1.11.0.3, 1.11.1.0, 1.11.1.1, 1.11.1.3, 1.11.2.1, 1.11.2.3, 1.11.3.3, 1.11.4.3, 2.1.0.3) No matching distribution found for pygdal==1.11.3
如果发生这种情况,运行 再次 pip install
,但最高版本仍然匹配。例如在这种情况下你会 运行 pip install pygdal==1.11.3.3
成功安装 pygdal
后,您应该可以调用
>>> from osgeo import gdal
如果有任何问题,请告诉我,我会尽我所能调整我的说明。此外,如果您在 Proj.4、GEOS 或 Cartopy 方面需要帮助,我也有一些经验。
使用pygdal
pd@asghar:~$sudo apt-get install python3-gdal
pd@asghar:~$ virtualenv -p python3 test
Running virtualenv with interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/pd/test/bin/python3
Also creating executable in /home/pd/test/bin/python
Installing setuptools, pip, wheel...done.
pd@asghar:~$ gdal-config --version
2.1.3
pd@asghar:~$ test/bin/pip install pygdal==2.1.3
Collecting pygdal==2.1.3
Could not find a version that satisfies the requirement pygdal==2.1.3 (from versions: 1.8.1.0, 1.8.1.1, 1.8.1.2, 1.8.1.3, 1.9.2.0, 1.9.2.1, 1.9.2.3, 1.10.0.0, 1.10.0.1, 1.10.0.3, 1.10.1.0, 1.10.1.1, 1.10.1.3, 1.11.0.0, 1.11.0.1, 1.11.0.3, 1.11.1.0, 1.11.1.1, 1.11.1.3, 1.11.2.1, 1.11.2.3, 1.11.3.3, 1.11.4.3, 1.11.5.3, 2.0.0.3, 2.0.1.3, 2.0.2.3, 2.0.3.3, 2.1.0.3, 2.1.1.3, 2.1.2.3, 2.1.3.3, 2.2.0.3)
No matching distribution found for pygdal==2.1.3
pd@asghar:~$ test/bin/pip install pygdal==2.1.3.3
Collecting pygdal==2.1.3.3
Collecting numpy>=1.0.0 (from pygdal==2.1.3.3)
Using cached numpy-1.13.1-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: numpy, pygdal
Successfully installed numpy-1.13.1 pygdal-2.1.3.3
pd@asghar:~$ source test/bin/activate
(test) pd@asghar:~$ python
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from osgeo import gdal
>>>
在 MacOS 上,首先执行 brew install:
brew install gdal
然后执行 pip 安装:
pip install gdal
我尝试在 virtualenvwrapper 环境中安装 gdal(pip install gdal),但出现此错误:
error: command 'gcc' failed with exit status 1
----------------------------------------
Failed building wheel for gdal
Failed to build gdal
我也试过 "pip install --no-install GDAL" 但是没有选项 --no-install
我该怎么办!?
是的,在 venv 中安装 GDAL 很麻烦。方便的是,我刚刚为我的导师的实验室写了关于如何这样做的文档!虽然我不够聪明,无法查明您错误的确切原因,但我可以给您提供一些方法来尝试修复它。
首先,确保在主机上安装了 gdal(即不在 venv 中)。我只是 运行 以下内容:
sudo apt-get install libgdal1i libgdal1-dev libgdal-dev
现在 运行 gdal-config --version
获取 apt-get
为您提供的版本。例如我得到 1.11.3
现在,根据我的经验,在 venv 中获取 python 绑定的最简单方法是使用 pygdal
。诀窍是获得正确的版本!为此,请激活您的虚拟环境并 运行
pip install pygdal==1.11.3
但将版本替换为您从 gdal-config --version
获得的版本。注意:您可能会收到一条错误消息
Could not find a version that satisfies the requirement pygdal==1.11.3 (from versions: 1.8.1.0, 1.8.1.1, 1.8.1.2, 1.8.1.3, 1.9.2.0, 1.9.2.1, 1.9.2.3, 1.10.0.0, 1.10.0.1, 1.10.0.3, 1.10.1.0, 1.10.1.1, 1.10.1.3, 1.11.0.0, 1.11.0.1, 1.11.0.3, 1.11.1.0, 1.11.1.1, 1.11.1.3, 1.11.2.1, 1.11.2.3, 1.11.3.3, 1.11.4.3, 2.1.0.3) No matching distribution found for pygdal==1.11.3
如果发生这种情况,运行 再次 pip install
,但最高版本仍然匹配。例如在这种情况下你会 运行 pip install pygdal==1.11.3.3
成功安装 pygdal
后,您应该可以调用
>>> from osgeo import gdal
如果有任何问题,请告诉我,我会尽我所能调整我的说明。此外,如果您在 Proj.4、GEOS 或 Cartopy 方面需要帮助,我也有一些经验。
使用pygdal
pd@asghar:~$sudo apt-get install python3-gdal
pd@asghar:~$ virtualenv -p python3 test
Running virtualenv with interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /home/pd/test/bin/python3
Also creating executable in /home/pd/test/bin/python
Installing setuptools, pip, wheel...done.
pd@asghar:~$ gdal-config --version
2.1.3
pd@asghar:~$ test/bin/pip install pygdal==2.1.3
Collecting pygdal==2.1.3
Could not find a version that satisfies the requirement pygdal==2.1.3 (from versions: 1.8.1.0, 1.8.1.1, 1.8.1.2, 1.8.1.3, 1.9.2.0, 1.9.2.1, 1.9.2.3, 1.10.0.0, 1.10.0.1, 1.10.0.3, 1.10.1.0, 1.10.1.1, 1.10.1.3, 1.11.0.0, 1.11.0.1, 1.11.0.3, 1.11.1.0, 1.11.1.1, 1.11.1.3, 1.11.2.1, 1.11.2.3, 1.11.3.3, 1.11.4.3, 1.11.5.3, 2.0.0.3, 2.0.1.3, 2.0.2.3, 2.0.3.3, 2.1.0.3, 2.1.1.3, 2.1.2.3, 2.1.3.3, 2.2.0.3)
No matching distribution found for pygdal==2.1.3
pd@asghar:~$ test/bin/pip install pygdal==2.1.3.3
Collecting pygdal==2.1.3.3
Collecting numpy>=1.0.0 (from pygdal==2.1.3.3)
Using cached numpy-1.13.1-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: numpy, pygdal
Successfully installed numpy-1.13.1 pygdal-2.1.3.3
pd@asghar:~$ source test/bin/activate
(test) pd@asghar:~$ python
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from osgeo import gdal
>>>
在 MacOS 上,首先执行 brew install:
brew install gdal
然后执行 pip 安装:
pip install gdal