Psycopg2: ubuntu 20.04 + python 3.8 , pip install psycopg2==2.7.3.2 error

Created on 12 May 2020  Â·  1Comment  Â·  Source: psycopg/psycopg2

my requirements/local.txt

cat requirements/base.txt |grep psycopg2
# like Pillow and psycopg2
psycopg2==2.7.3.2
#psycopg2==2.7.5

pip install psycopg2 error messages

pip install psycopg2==2.7.3.2
Collecting psycopg2==2.7.3.2
  Using cached psycopg2-2.7.3.2.tar.gz (425 kB)
Building wheels for collected packages: psycopg2
  Building wheel for psycopg2 (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/administrator/D/neo/.ve/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-toh63sp5/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-toh63sp5/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-c1y2hug1
       cwd: /tmp/pip-install-toh63sp5/psycopg2/
  Complete output (62 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.8
  creating build/lib.linux-x86_64-3.8/psycopg2
  copying lib/extensions.py -> build/lib.linux-x86_64-3.8/psycopg2
  copying lib/_ipaddress.py -> build/lib.linux-x86_64-3.8/psycopg2
  copying lib/errorcodes.py -> build/lib.linux-x86_64-3.8/psycopg2
  copying lib/sql.py -> build/lib.linux-x86_64-3.8/psycopg2
  copying lib/extras.py -> build/lib.linux-x86_64-3.8/psycopg2
  copying lib/__init__.py -> build/lib.linux-x86_64-3.8/psycopg2
  copying lib/pool.py -> build/lib.linux-x86_64-3.8/psycopg2
  copying lib/psycopg1.py -> build/lib.linux-x86_64-3.8/psycopg2
  copying lib/_range.py -> build/lib.linux-x86_64-3.8/psycopg2
  copying lib/tz.py -> build/lib.linux-x86_64-3.8/psycopg2
  copying lib/_json.py -> build/lib.linux-x86_64-3.8/psycopg2
  creating build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_green.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_connection.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/testconfig.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_lobject.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_sql.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_async_keyword.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_cursor.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/testutils.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_errcodes.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/__init__.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/dbapi20.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_psycopg2_dbapi20.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_notify.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_replication.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_extras_dictcursor.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_types_basic.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_cancel.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_bug_gc.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_quote.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_ipaddress.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_dates.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_copy.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/dbapi20_tpc.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_async.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_transaction.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_types_extras.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_with.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_module.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_bugX000.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  copying tests/test_fast_executemany.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
  Skipping optional fixer: buffer
  Skipping optional fixer: idioms
  Skipping optional fixer: set_literal
  Skipping optional fixer: ws_comma
  running build_ext
  building 'psycopg2._psycopg' extension
  creating build/temp.linux-x86_64-3.8
  creating build/temp.linux-x86_64-3.8/psycopg
  x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.7.3.2 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=120200 -DHAVE_LO64=1 -I/home/administrator/D/neo/.ve/include -I/usr/include/python3.8 -I. -I/usr/include/postgresql -I/usr/include/postgresql/12/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-3.8/psycopg/psycopgmodule.o -Wdeclaration-after-statement
  psycopg/psycopgmodule.c: In function ‘psyco_is_main_interp’:
  psycopg/psycopgmodule.c:685:18: error: dereferencing pointer to incomplete type ‘PyInterpreterState’ {aka ‘struct _is’}
    685 |     while (interp->next)
        |                  ^~
  error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for psycopg2
  Running setup.py clean for psycopg2
Failed to build psycopg2
Installing collected packages: psycopg2
    Running setup.py install for psycopg2 ... error
    ERROR: Command errored out with exit status 1:
     command: /home/administrator/D/neo/.ve/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-toh63sp5/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-toh63sp5/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-e0e08klq/install-record.txt --single-version-externally-managed --compile --install-headers /home/administrator/D/neo/.ve/include/site/python3.8/psycopg2
         cwd: /tmp/pip-install-toh63sp5/psycopg2/
    Complete output (62 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.8
    creating build/lib.linux-x86_64-3.8/psycopg2
    copying lib/extensions.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/_ipaddress.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/errorcodes.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/sql.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/extras.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/__init__.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/pool.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/psycopg1.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/_range.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/tz.py -> build/lib.linux-x86_64-3.8/psycopg2
    copying lib/_json.py -> build/lib.linux-x86_64-3.8/psycopg2
    creating build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_green.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_connection.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/testconfig.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_lobject.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_sql.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_async_keyword.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_cursor.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/testutils.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_errcodes.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/__init__.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/dbapi20.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_psycopg2_dbapi20.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_notify.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_replication.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_extras_dictcursor.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_types_basic.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_cancel.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_bug_gc.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_quote.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_ipaddress.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_dates.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_copy.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/dbapi20_tpc.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_async.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_transaction.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_types_extras.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_with.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_module.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_bugX000.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    copying tests/test_fast_executemany.py -> build/lib.linux-x86_64-3.8/psycopg2/tests
    Skipping optional fixer: buffer
    Skipping optional fixer: idioms
    Skipping optional fixer: set_literal
    Skipping optional fixer: ws_comma
    running build_ext
    building 'psycopg2._psycopg' extension
    creating build/temp.linux-x86_64-3.8
    creating build/temp.linux-x86_64-3.8/psycopg
    x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.7.3.2 (dt dec pq3 ext lo64)" -DPG_VERSION_NUM=120200 -DHAVE_LO64=1 -I/home/administrator/D/neo/.ve/include -I/usr/include/python3.8 -I. -I/usr/include/postgresql -I/usr/include/postgresql/12/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-3.8/psycopg/psycopgmodule.o -Wdeclaration-after-statement
    psycopg/psycopgmodule.c: In function ‘psyco_is_main_interp’:
    psycopg/psycopgmodule.c:685:18: error: dereferencing pointer to incomplete type ‘PyInterpreterState’ {aka ‘struct _is’}
      685 |     while (interp->next)
          |                  ^~
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/administrator/D/neo/.ve/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-toh63sp5/psycopg2/setup.py'"'"'; __file__='"'"'/tmp/pip-install-toh63sp5/psycopg2/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-e0e08klq/install-record.txt --single-version-externally-managed --compile --install-headers /home/administrator/D/neo/.ve/include/site/python3.8/psycopg2 Check the logs for full command output.

I could install with psycopg2 version >= 2.8.0
but with 2.7.x , pip install will generate those error messages.

is that mean psycopg2 2.7.x can not work with python 3.8 in ubuntu 20.04 ?

Most helpful comment

Python 3.8 support was added in psycopg 2.8.4.

https://www.psycopg.org/docs/news.html#what-s-new-in-psycopg-2-8-4

There is currently no plan to add support for Python 3.8 to psycopg 2.7.x. If there is commercial interest for it please let us know.

>All comments

Python 3.8 support was added in psycopg 2.8.4.

https://www.psycopg.org/docs/news.html#what-s-new-in-psycopg-2-8-4

There is currently no plan to add support for Python 3.8 to psycopg 2.7.x. If there is commercial interest for it please let us know.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jiamo picture jiamo  Â·  3Comments

dvlhntr picture dvlhntr  Â·  6Comments

mattip picture mattip  Â·  6Comments

vitorpontual picture vitorpontual  Â·  5Comments

anarazel picture anarazel  Â·  3Comments