Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python GDAL: pip install --no-install GDAL fails

I am trying to install GDAL in virtual environment based on the various solutions out there.

However the download itself already fails:

$ pip install --no-install GDAL

Here is the pip.log

------------------------------------------------------------
/Users/test/venv/bin/pip run on Sun Jun  2 15:35:15 2013
Downloading/unpacking GDAL

  Running setup.py egg_info for package GDAL

    running egg_info
    writing pip-egg-info/GDAL.egg-info/PKG-INFO
    writing top-level names to pip-egg-info/GDAL.egg-info/top_level.txt
    writing dependency_links to pip-egg-info/GDAL.egg-info/dependency_links.txt
    warning: manifest_maker: standard file '-c' not found


    Traceback (most recent call last):

      File "<string>", line 16, in <module>

      File "/Users/test/venv/build/GDAL/setup.py", line 267, in <module>

        ext_modules = ext_modules )

      File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup

        dist.run_commands()

      File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands

        self.run_command(cmd)

      File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command

        cmd_obj.run()

      File "<string>", line 14, in replacement_run

      File "/Users/test/venv/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/egg_info.py", line 259, in find_sources

        mm.run()

      File "/Users/test/venv/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/egg_info.py", line 325, in run

        self.add_defaults()

      File "/Users/test/venv/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/egg_info.py", line 361, in add_defaults

        sdist.add_defaults(self)

      File "/Users/test/venv/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/sdist.py", line 211, in add_defaults

        build_ext = self.get_finalized_command('build_ext')

      File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 312, in get_finalized_command

        cmd_obj.ensure_finalized()

      File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized

        self.finalize_options()

      File "/Users/test/venv/build/GDAL/setup.py", line 164, in finalize_options

        self.gdaldir = self.get_gdal_config('prefix')

      File "/Users/test/venv/build/GDAL/setup.py", line 144, in get_gdal_config

        return fetch_config(option)

      File "/Users/test/venv/build/GDAL/setup.py", line 97, in fetch_config

        raise gdal_config_error, e""")

      File "<string>", line 4, in <module>

    __main__.gdal_config_error: [Errno 2] No such file or directory

    Complete output from command python setup.py egg_info:

    running egg_info

writing pip-egg-info/GDAL.egg-info/PKG-INFO

writing top-level names to pip-egg-info/GDAL.egg-info/top_level.txt

writing dependency_links to pip-egg-info/GDAL.egg-info/dependency_links.txt

warning: manifest_maker: standard file '-c' not found



Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/Users/test/venv/build/GDAL/setup.py", line 267, in <module>

    ext_modules = ext_modules )

  File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 152, in setup

    dist.run_commands()

  File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 953, in run_commands

    self.run_command(cmd)

  File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 972, in run_command

    cmd_obj.run()

  File "<string>", line 14, in replacement_run

  File "/Users/test/venv/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/egg_info.py", line 259, in find_sources

    mm.run()

  File "/Users/test/venv/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/egg_info.py", line 325, in run

    self.add_defaults()

  File "/Users/test/venv/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/egg_info.py", line 361, in add_defaults

    sdist.add_defaults(self)

  File "/Users/test/venv/lib/python2.7/site-packages/distribute-0.6.34-py2.7.egg/setuptools/command/sdist.py", line 211, in add_defaults

    build_ext = self.get_finalized_command('build_ext')

  File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 312, in get_finalized_command

    cmd_obj.ensure_finalized()

  File "/usr/local/Cellar/python/2.7.5/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized

    self.finalize_options()

  File "/Users/test/venv/build/GDAL/setup.py", line 164, in finalize_options

    self.gdaldir = self.get_gdal_config('prefix')

  File "/Users/test/venv/build/GDAL/setup.py", line 144, in get_gdal_config

    return fetch_config(option)

  File "/Users/test/venv/build/GDAL/setup.py", line 97, in fetch_config

    raise gdal_config_error, e""")

  File "<string>", line 4, in <module>

__main__.gdal_config_error: [Errno 2] No such file or directory

----------------------------------------

Command python setup.py egg_info failed with error code 1 in /Users/test/venv/build/GDAL

Exception information:
Traceback (most recent call last):
  File "/Users/test/venv/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/basecommand.py", line 139, in main
    status = self.run(options, args)
  File "/Users/test/venv/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/commands/install.py", line 266, in run
    requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
  File "/Users/test/venv/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 1057, in prepare_files
    req_to_install.run_egg_info()
  File "/Users/test/venv/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/req.py", line 236, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/Users/test/venv/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg/pip/util.py", line 662, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command python setup.py egg_info failed with error code 1 in /Users/test/venv/build/GDAL

What am I missing?

like image 228
ustroetz Avatar asked Jun 02 '13 22:06

ustroetz


People also ask

Can you install GDAL with pip?

You will likely be unable to install GDAL directly via pip on Windows 10. Instead, download a . whl file for the library, and install using that file. Select the desired version here.

How do I install GDAL in Anaconda environment?

If you're using Anaconda3, the easiest way to install GDAL is to create a virtual environment through Anaconda Navigator, choosing Python 3.6 as the preferred version. Then, choose gdal from the list of uninstalled Python packages. This will install gdal version 2.1.

What version of Python does GDAL use?

Documentation. The GDAL Python documentation is generated automatically in should already support Python 3.


2 Answers

The workaround given by @user1738154 didn't work as expected for me so went ahead and installed GDAL using HomeBrew then using pip into my Virtual environment.

    $ brew install gdal
    (venv)$ pip install GDAL

Everything compiled and ran like a charm.

like image 188
David Lemayian Avatar answered Oct 22 '22 11:10

David Lemayian


A workaround to that problem is to

  1. Download GDAL Complete from this site
  2. Install GDAL Complete.pkg
  3. Go to /Library/Frameworks/GDAL.framework/Versions/1.10/ and copy all files in there
  4. Go to your virtual environment's sites-packages /venv/lib/python2.7/site-packages and paste the copied files in there
like image 35
ustroetz Avatar answered Oct 22 '22 11:10

ustroetz