Installing psycopg2 into virtualenv when PostgreSQL is not installed on development system

前端 未结 14 1079
一向
一向 2020-12-04 09:24

Is it possible to install psycopg2 into a virtualenv when PostgreSQL isn\'t installed on my development system—MacBook Pro with OS X 10.6?

When I run

相关标签:
14条回答
  • 2020-12-04 09:38

    As I never needed to install postgresql database on this server I installed the following libraries on Ubuntu 14_04 version before running pip install psycopg2 on the same server

    apt-get install libpq-dev python-dev and then executed pip install psycopg2 within virtual env.

    Output Collecting psycopg2 Using cached psycopg2-2.6.1.tar.gz Building wheels for collected packages: psycopg2 Running setup.py bdist_wheel for psycopg2 Stored in directory: /root/.cache/pip/wheels/e2/9a/5e/7b620848bbc7cfb9084aafea077be11618c2b5067bd532f329 Successfully built psycopg2 Installing collected packages: psycopg2 Successfully installed psycopg2-2.6.1

    0 讨论(0)
  • 2020-12-04 09:39

    psycopg depends on pg_config command, and if you don't have it, you can't install psycopg.

    If system installation is a problem to you, why don't you try compiling PostgreSQL and including generated bin files in your $PATH? Like:

    export PATH=/path/to/compiled/postgresql/bin:"$PATH"
    pip install psycopg2
    
    0 讨论(0)
  • 2020-12-04 09:41

    All from the above doesn't work for me (OS Catalina 10.15.1)

    There was a conflict with classical postgres and homebrew version. Please delete homebrew version by command

    $ brew uninstall postgresql
    

    and then install it from the official website:

    $ sudo mkdir -p /etc/paths.d && echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp
    

    It is actual for a simple psycopg2 install or django-heroku package.

    0 讨论(0)
  • Use pip install psycopg2-binary, it worked for me when pip install psycopg2 wasn't working.

    0 讨论(0)
  • 2020-12-04 09:45

    I know you are asking for development environment but if you are deploying on server say, Heroku. Just add below line in the requirements.txt of your project.

    django-heroku==0.3.1

    As this package itself will install the required packages like psycopg2 on server deployment.

    0 讨论(0)
  • 2020-12-04 09:48

    I solved it in MAC OSX using :

    $ wget https://ftp.postgresql.org/pub/source/v9.5.3/postgresql-9.5.3.tar.bz2
    $ tar xfv postgresql-9.5.3.tar.bz2
    $ cd postgresql-9.5.3
    $ ./configure
    $ make
    $ cd src/bin/pg_config
    $ export PATH=`pwd`:"$PATH"
    $ pip install psycopg2
    
    0 讨论(0)
提交回复
热议问题