Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot install "psycopg2" on Windows 10 with Python 3.8

Yesterday I uninstalled python 3.7 version by mistake. Then I install python again (this time 3.8 version) and again set up my environment. But I could not start my Django project which has Postgres connection. Actually I cannot install "psycopg2" in my environment. I searched for hours and implement every solutions I get from online but it does not work. Let me tell you what I did so far.


  • First it said to add Postgres in my PATH so I added C:\Program Files\PostgreSQL\12\bin\ in my PATH.
  • A new problem then arise with a huge ERROR report with 2 vital Error.

    ERROR: Failed building wheel for psycopg2

    ..........................

    Running setup.py install for psycopg2 ... error

    I try to upgrade wheel but it says,

    Requirement already up-to-date

  • http://initd.org/psycopg/docs/install.html#install-from-source I learned from this site that psycopg2 requires python2 version. So I installed python 2.7 also.

  • I reinstalled PostgreSQL but it does not work.
  • I deleted my virtual environment and create again but it does not work.
  • Some says they solve this problem by running pip install psycopg2-binary But it does not work for me.

Please help me to get rid of this. I stuck for hours.

like image 645
yuv Avatar asked Nov 04 '19 11:11

yuv


People also ask

What is python3 psycopg2?

Project description. Psycopg is the most popular PostgreSQL database adapter for the Python programming language. Its main features are the complete implementation of the Python DB API 2.0 specification and the thread safety (several threads can share the same connection).

Should I use psycopg2 or psycopg2 binary?

psycopg project recommends using psycopg2 in production instead of psycopg binary so we preferred to use that as the dependency. For production use you are advised to use the source distribution.


1 Answers

When you asked this question, Python 3.8 had been released very recently so there were not any wheels for Python 3.8 yet.

At the time, my suggestion was to install Python 3.7.X and install the binary wheel with:

pip install psycopg2-binary

Since then, binary wheels have been released for Python 3.8, so the above command should work with Python 3.8.X as well.

I wouldn't try to build from source on Windows if it can be avoided.

Finally, you misunderstood the section of the docs about Python 2. You only need Python 2.7 if you are running Python 2. For Python 3, which you should be using for all new projects, it currently supports Python 3.4 to 3.8.

like image 140
Alasdair Avatar answered Sep 18 '22 03:09

Alasdair