无法为python安装GDAL

时间:2022-09-19 07:45:50

Let me start by saying that I have searched for help this problem and gone through the numerous threads that I have found, and none of them have worked, or I wasn't able to understand what they are saying to do.

首先让我说我已经搜索了这个问题的帮助,并经历了我找到的众多主题,但没有一个有效,或者我无法理解他们的意思。

Once such thread is here: Python GDAL package missing header file when installing via pip

一旦这样的线程在这里:Python GDAL包在通过pip安装时缺少头文件

I was able to run

我能跑了

pip install --no-install GDAL

But then I was instructed to "cd into ENV/build/GDAL". I know what cd means but I have no idea where this /ENV/build/GDAL diretory would be located and there is no more information about it in the post, or in the post that it references.

但后来我被指示“进入ENV / build / GDAL”。我知道cd意味着什么,但我不知道这个/ ENV / build / GDAL diretory将位于何处,并且在帖子或它引用的帖子中没有关于它的更多信息。

The core problem is just that I want to install GDAL for use in Python. I tried

核心问题只是我想安装GDAL以便在Python中使用。我试过了

pip install GDAL, and it failed with this output:

pip安装GDAL,它输出失败:

    Collecting GDAL
  Using cached GDAL-2.0.1.tar.gz
Installing collected packages: GDAL
  Running setup.py install for GDAL
    Complete output from command c:\users\isaac\appdata\local\programs\python\python35-32\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\Isaac\\AppData\\Local\\Temp\\pip-build-4kmkv1_4\\GDAL\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\Isaac\AppData\Local\Temp\pip-fxko2gfx-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.5
    copying gdal.py -> build\lib.win32-3.5
    copying ogr.py -> build\lib.win32-3.5
    copying osr.py -> build\lib.win32-3.5
    copying gdalconst.py -> build\lib.win32-3.5
    creating build\lib.win32-3.5\osgeo
    copying osgeo\gdal.py -> build\lib.win32-3.5\osgeo
    copying osgeo\gdalconst.py -> build\lib.win32-3.5\osgeo
    copying osgeo\gdalnumeric.py -> build\lib.win32-3.5\osgeo
    copying osgeo\gdal_array.py -> build\lib.win32-3.5\osgeo
    copying osgeo\ogr.py -> build\lib.win32-3.5\osgeo
    copying osgeo\osr.py -> build\lib.win32-3.5\osgeo
    copying osgeo\__init__.py -> build\lib.win32-3.5\osgeo
    Fixing build\lib.win32-3.5\gdal.py build\lib.win32-3.5\ogr.py build\lib.win32-3.5\osr.py build\lib.win32-3.5\gdalconst.py build\lib.win32-3.5\osgeo\gdal.py build\lib.win32-3.5\osgeo\gdalconst.py build\lib.win32-3.5\osgeo\gdalnumeric.py build\lib.win32-3.5\osgeo\gdal_array.py build\lib.win32-3.5\osgeo\ogr.py build\lib.win32-3.5\osgeo\osr.py build\lib.win32-3.5\osgeo\__init__.py
    Skipping optional fixer: ws_comma
    Fixing build\lib.win32-3.5\gdal.py build\lib.win32-3.5\ogr.py build\lib.win32-3.5\osr.py build\lib.win32-3.5\gdalconst.py build\lib.win32-3.5\osgeo\gdal.py build\lib.win32-3.5\osgeo\gdalconst.py build\lib.win32-3.5\osgeo\gdalnumeric.py build\lib.win32-3.5\osgeo\gdal_array.py build\lib.win32-3.5\osgeo\ogr.py build\lib.win32-3.5\osgeo\osr.py build\lib.win32-3.5\osgeo\__init__.py
    Skipping optional fixer: ws_comma
    running build_ext
    building 'osgeo._gdal' extension
    error: [WinError 2] The system cannot find the file specified

Command "c:\users\isaac\appdata\local\programs\python\python35-32\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\Isaac\\AppData\\Local\\Temp\\pip-build-07o7k41s\\gdal\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\Isaac\AppData\Local\Temp\pip-640gw1ah-record\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\Isaac\AppData\Local\Temp\pip-build-07o7k41s\gdal

Can someone please help me with this? I'm completely lost and have no idea what to do about this.

有人可以帮我这个吗?我完全迷失了,不知道该怎么做。

I'm wondering if maybe it's because my python installation is in a funny place? It's installed at C:\Users\Isaac\AppData\Local\Programs\Python\Python35-32\, which is where it was placed when I installed PyCharm, but that folder and the /Scripts/ folder inside are in my PATH.

我想知道是不是因为我的python安装在一个有趣的地方?它安装在C:\ Users \ Isaac \ AppData \ Local \ Programs \ Python \ Python35-32 \中,这是我安装PyCharm时的位置,但该文件夹和里面的/ Scripts /文件夹都在我的PATH中。

Edit: After a bit more research I'm wondering if it's because I'm using Python 3.5? I'll try rolling back to Python 3.4 and see if it changes anything

编辑:经过一番研究后,我想知道是不是因为我使用的是Python 3.5?我将尝试回滚到Python 3.4并查看它是否会发生任何变化

Edit 2: Nope, no luck, it still fails and tells me

编辑2:不,没有运气,它仍然失败并告诉我

error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat)

I tried to install Microsoft Visual C++ 10.0 and it just told me that there was already a newer version on my computer.

我试图安装Microsoft Visual C ++ 10.0,它只是告诉我,我的计算机上已有更新的版本。

2 个解决方案

#1


11  

Probably the easiest way to install such kind of libraries is conda. Get and install Miniconda as user, not root. Now, create a new environment and install gdal into it:

可能安装这种类库的最简单方法是conda。以用户身份获取并安装Miniconda,而不是root用户。现在,创建一个新环境并将gdal安装到其中:

conda create -n gdal_test python=3.5
activate gdal_test
conda install gdal

You need to stay inside this shell window. i.e. th prompt should like this (gdal_test). Start Python:

你需要留在这个shell窗口里面。即提示应该这样(gdal_test)。启动Python:

python
>>> import gdal

Note: On Linux and Mac OS X use source activate gdal_test.

注意:在Linux和Mac OS X上使用source activate gdal_test。

To find out what versions of gdal are available, type:

要找出可用的gdal版本,请键入:

conda search gdal

An output like this:

像这样的输出:

gdal

      ....

               2.0.0               np110py34_0  defaults

means gdal 2.0.0 is available for Python 3.4 and needs NumPy 1.10.

意味着gdal 2.0.0可用于Python 3.4并且需要NumPy 1.10。

#2


3  

On Windows the easiest way to install GDAL is to use pre-built binaries unless you have special needs that require building GDAL from source. Apart from conda, as mentioned by @Mike Müller, there are three common sources for GDAL Windows binaries (with Python bindings):

在Windows上,安装GDAL的最简单方法是使用预先构建的二进制文件,除非您有特殊需求需要从源代码构建GDAL。除了@MikeMüller所提到的conda之外,GDAL Windows二进制文件有三个常见的来源(使用Python绑定):

#1


11  

Probably the easiest way to install such kind of libraries is conda. Get and install Miniconda as user, not root. Now, create a new environment and install gdal into it:

可能安装这种类库的最简单方法是conda。以用户身份获取并安装Miniconda,而不是root用户。现在,创建一个新环境并将gdal安装到其中:

conda create -n gdal_test python=3.5
activate gdal_test
conda install gdal

You need to stay inside this shell window. i.e. th prompt should like this (gdal_test). Start Python:

你需要留在这个shell窗口里面。即提示应该这样(gdal_test)。启动Python:

python
>>> import gdal

Note: On Linux and Mac OS X use source activate gdal_test.

注意:在Linux和Mac OS X上使用source activate gdal_test。

To find out what versions of gdal are available, type:

要找出可用的gdal版本,请键入:

conda search gdal

An output like this:

像这样的输出:

gdal

      ....

               2.0.0               np110py34_0  defaults

means gdal 2.0.0 is available for Python 3.4 and needs NumPy 1.10.

意味着gdal 2.0.0可用于Python 3.4并且需要NumPy 1.10。

#2


3  

On Windows the easiest way to install GDAL is to use pre-built binaries unless you have special needs that require building GDAL from source. Apart from conda, as mentioned by @Mike Müller, there are three common sources for GDAL Windows binaries (with Python bindings):

在Windows上,安装GDAL的最简单方法是使用预先构建的二进制文件,除非您有特殊需求需要从源代码构建GDAL。除了@MikeMüller所提到的conda之外,GDAL Windows二进制文件有三个常见的来源(使用Python绑定):