[英]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的帮助,我也有一些经验。
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.