简体   繁体   中英

Unable to install gdal in python 3.6.1 in macos Sierra

I was trying to install gdal in python 3.6.1, but getting the following error. How to overcome this?

bibinwilson ~ $ pip3 install gdal
 Collecting gdal Downloading GDAL-2.2.1.tar.gz (475kB) 100% |████████████████████████████████| 481kB 397kB/s Complete output from command python setup.py egg_info: running egg_info creating pip-egg-info/GDAL.egg-info writing pip-egg-info/GDAL.egg-info/PKG-INFO writing dependency_links to pip-egg-info/GDAL.egg-info/dependency_links.txt writing top-level names to pip-egg-info/GDAL.egg-info/top_level.txt writing manifest file 'pip-egg-info/GDAL.egg-info/SOURCES.txt' warning: manifest_maker: standard file '-c' not found Traceback (most recent call last): File "/private/var/folders/43/7yqv__4j5776m508kggs_dxm0000gn/T/pip-build-naebgem9/gdal/setup.py", line 131, in fetch_config p = subprocess.Popen([command, args], stdout=subprocess.PIPE) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 707, in __init__ restore_signals, start_new_session) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1326, in _execute_child raise child_exception_type(errno_num, err_msg) FileNotFoundError: [Errno 2] No such file or directory: '../../apps/gdal-config' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/private/var/folders/43/7yqv__4j5776m508kggs_dxm0000gn/T/pip-build-naebgem9/gdal/setup.py", line 179, in get_gdal_config return fetch_config(option, gdal_config = self.gdal_config) File "/private/var/folders/43/7yqv__4j5776m508kggs_dxm0000gn/T/pip-build-naebgem9/gdal/setup.py", line 135, in fetch_config raise gdal_config_error(e) __main__.gdal_config_error: [Errno 2] No such file or directory: '../../apps/gdal-config' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/private/var/folders/43/7yqv__4j5776m508kggs_dxm0000gn/T/pip-build-naebgem9/gdal/setup.py", line 131, in fetch_config p = subprocess.Popen([command, args], stdout=subprocess.PIPE) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 707, in __init__ restore_signals, start_new_session) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/subprocess.py", line 1326, in _execute_child raise child_exception_type(errno_num, err_msg) FileNotFoundError: [Errno 2] No such file or directory: 'gdal-config' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<string>", line 1, in <module> File "/private/var/folders/43/7yqv__4j5776m508kggs_dxm0000gn/T/pip-build-naebgem9/gdal/setup.py", line 339, in <module> **extra ) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/core.py", line 148, in setup dist.run_commands() File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/dist.py", line 955, in run_commands self.run_command(cmd) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/dist.py", line 974, in run_command cmd_obj.run() File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 279, in run self.find_sources() File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 306, in find_sources mm.run() File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 533, in run self.add_defaults() File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/setuptools/command/egg_info.py", line 562, in add_defaults sdist.add_defaults(self) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/setuptools/command/py36compat.py", line 36, in add_defaults self._add_defaults_ext() File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/setuptools/command/py36compat.py", line 119, in _add_defaults_ext build_ext = self.get_finalized_command('build_ext') File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/cmd.py", line 299, in get_finalized_command cmd_obj.ensure_finalized() File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/cmd.py", line 107, in ensure_finalized self.finalize_options() File "/private/var/folders/43/7yqv__4j5776m508kggs_dxm0000gn/T/pip-build-naebgem9/gdal/setup.py", line 214, in finalize_options self.gdaldir = self.get_gdal_config('prefix') File "/private/var/folders/43/7yqv__4j5776m508kggs_dxm0000gn/T/pip-build-naebgem9/gdal/setup.py", line 188, in get_gdal_config return fetch_config(option) File "/private/var/folders/43/7yqv__4j5776m508kggs_dxm0000gn/T/pip-build-naebgem9/gdal/setup.py", line 135, in fetch_config raise gdal_config_error(e) __main__.gdal_config_error: [Errno 2] No such file or directory: 'gdal-config' ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/43/7yqv__4j5776m508kggs_dxm0000gn/T/pip-build-naebgem9/gdal/

I had this error and installing GDAL through Homebrew fixed this for me. Installing the the binaries for GDAL didn't correct the error but once I installed through brew it was resolved.

brew install gdal

seems like the same issue as here: Python GDAL: pip install --no-install GDAL fails

If you've already installed the binaries (like I had) then this answer worked for me: https://stackoverflow.com/a/44051123/3969685

This simple procedure seemed to work for me on MAC sierra, python 3.6, GDAL 2.2.3

1) Install GDAL framework using dmg installer for MAC [GDAL MAC Frameworks]: http://www.kyngchaos.com/software/frameworks

2) Add gdal-config folder to your path and get your version:

$ export PATH=/Library/Frameworks/GDAL.framework/Versions/2.2/Programs:$PATH

$ gdal-config --version

3) Use pip to install the version reported by gdal-config --version :

$ pip install gdal==2.2.3

Step 1 Seems to set up the python site-packages under its install framework folders and I think you could copy them to your python site-packages. But better to use pip install.

This simple procedure seemed to work for me on MAC

  1. Install GDAL framework using Brew > brew install gdal
  2. gdal-config --version

gdal-config --version

2.4.4 3. GDAL Python binding pip3 install gdal==2.4.4

Note the GDAL version of the end of the command, it must be the same as the obtained in the step above using gdal-config. To avoid conflicts or any further issues, it's important to install and use the exact versions that any component will require.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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