简体   繁体   English

在virtualenvwrapper环境中安装GDAL

[英]Install GDAL in virtualenvwrapper environment

I tried to install gdal (pip install gdal)in virtualenvwrapper environment but I got this error : 我试图在virtualenvwrapper环境中安装gdal(pip install gdal),但是我收到了这个错误:

  error: command 'gcc' failed with exit status 1

  ----------------------------------------
  Failed building wheel for gdal
 Failed to build gdal

I tried also "pip install --no-install GDAL" but there is nooption --no-install 我也试过“pip install --no-install GDAL”,但没有选择--no-install

what should I do !? 我该怎么办 !?

Yes, installing GDAL in a venv is a doozy. 是的,在venv中安装GDAL是一件很麻烦的事。 Conveniently, I just wrote up the documentation on how to do so for my advisor's lab! 方便的是,我刚刚写了关于如何为我的顾问实验室这样做的文档! While I am not savvy enough to pinpoint the exact cause of your error, I can give you a bunch of things to try to fix it. 虽然我不够精明,无法确定错误的确切原因,但我可以给你一些东西来尝试解决它。

First, ensure you have gdal installed on the host (ie not in a venv). 首先,确保在主机上安装了gdal(即不在venv中)。 I just run the following: 我只是运行以下内容:

sudo apt-get install libgdal1i libgdal1-dev libgdal-dev

Now run gdal-config --version to get the version that apt-get provided you with. 现在运行gdal-config --version来获取apt-get为您提供的版本。 For example I get 1.11.3 例如,我得到1.11.3

Now, the easiest way in my experience to get the python bindings in a venv is using pygdal . 现在,根据我的经验,在venv中获取python绑定的最简单方法是使用pygdal The trick is to get the right version! 诀窍是获得正确的版本! To do so, activate your virtual environment and run 为此,请激活您的虚拟环境并运行

pip install pygdal==1.11.3

but replace the version with whatever you got from gdal-config --version . 但用gdal-config --version任何内容替换版本。 Note: you may get an error that says 注意:您可能会收到错误消息

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

If that happens, run the pip install again but with the highest version that still matches. 如果发生这种情况, pip install再次运行pip install ,但仍保持匹配的最高版本。 eg in this case you would run pip install pygdal==1.11.3.3 例如,在这种情况下,你将运行pip install pygdal==1.11.3.3

Once pygdal has been successfully installed, you should be able to call 一旦pygdal成功安装,你应该可以打电话

>>> from osgeo import gdal

Please let me know if anything fails and I'll do what I can to adjust my instructions. 如果有任何失败,请告诉我,我会尽我所能来调整我的指示。 Also, if you need help with Proj.4, GEOS, or Cartopy, I have some experience there too. 此外,如果您需要Proj.4,GEOS或Cartopy的帮助,我也有一些经验。

use pygdal 使用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
>>> 

On MacOS, first do brew install: 在MacOS上,首先进行brew安装:

brew install gdal

Then do pip install: 然后做pip安装:

pip install gdal

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM