简体   繁体   中英

Can't install psycopg2-binary on macOS Monterey 12.3

I've been trying to install psycopg2-binary for my django project, and so far nothing has been working. It keeps asking for the pg_config file, which to my knowledge is only required if you are building psycopg2. So, what is happening here?

Collecting psycopg2-binary
  Using cached psycopg2-binary-2.9.3.tar.gz (380 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [23 lines of output]
      running egg_info
      creating /private/var/folders/7t/15s08lqd0r51727h4ljk1bq00000gn/T/pip-pip-egg-info-03hv65aq/psycopg2_binary.egg-info
      writing /private/var/folders/7t/15s08lqd0r51727h4ljk1bq00000gn/T/pip-pip-egg-info-03hv65aq/psycopg2_binary.egg-info/PKG-INFO
      writing dependency_links to /private/var/folders/7t/15s08lqd0r51727h4ljk1bq00000gn/T/pip-pip-egg-info-03hv65aq/psycopg2_binary.egg-info/dependency_links.txt
      writing top-level names to /private/var/folders/7t/15s08lqd0r51727h4ljk1bq00000gn/T/pip-pip-egg-info-03hv65aq/psycopg2_binary.egg-info/top_level.txt
      writing manifest file '/private/var/folders/7t/15s08lqd0r51727h4ljk1bq00000gn/T/pip-pip-egg-info-03hv65aq/psycopg2_binary.egg-info/SOURCES.txt'
      
      Error: pg_config executable not found.
      
      pg_config is required to build psycopg2 from source.  Please add the directory
      containing pg_config to the $PATH or specify the full executable path with the
      option:
      
          python setup.py build_ext --pg-config /path/to/pg_config build ...
      
      or with the pg_config option in 'setup.cfg'.
      
      If you prefer to avoid building psycopg2 from source, please install the PyPI
      'psycopg2-binary' package instead.
      
      For further information please check the 'doc/src/install.rst' file (also at
      <https://www.psycopg.org/docs/install.html>).
      
      [end of output]

Of course, pip is at its latest version, and I've specified pip install psycopg2-binary .

My mac's arch is arm64.

Any help would be appreciated. Thanks

I found this online and it worked for me:

❯ brew install postgresql

If you open a new terminal tab you will see that pg_config is available

❯ export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include"
❯ export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib -L${HOME}/.pyenv/versions/3.8.10/lib"

❯ python -V
Python 3.8.10
❯ pip install psycopg2-binary==2.8.6

psycopg2-binary 2.9.3 doesn't provide binary wheels for MacOS arm64; binary wheels for MacOS are only provided for Intel x86 64 bits. So pip tried to compile from sources — and failed.

To compile from sources you need a lot of prerequisites .

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