para descargar python django heroku psycopg2

descargar - Error al intentar instalar Postgres para python(psycopg2)



psycopg2 python 3 (4)

Intenté instalar psycopg2 en mi entorno, pero me aparece el siguiente error:

(venv)avlahop@apostolos-laptop:~/development/django/rhombus-dental$ sudo pip install psycopg2 Downloading/unpacking psycopg2, Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded Running setup.py egg_info for package psycopg2 Installing collected packages: psycopg2 Running setup.py install for psycopg2 building ''psycopg2._psycopg'' extension x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall Wstrict-prototypes -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.5.2 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x09010D -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/usr/include/python2.7 -I. -I/usr/include/postgresql -I/usr/include/postgresql/9.1/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-2.7/psycopg/psycopgmodule.o -Wdeclaration-after-statement In file included from psycopg/psycopgmodule.c:27:0: ./psycopg/psycopg.h:30:20: fatal error: Python.h: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος #include <Python.h> ^ compilation terminated. error: command ''x86_64-linux-gnu-gcc'' failed with exit status 1 Complete output from command /usr/bin/python -c "import setuptools;__file__=''/tmp/pip_build_root/psycopg2/setup.py'';exec(compile(open(__file__).read().replace(''/r/n'', ''/n''), __file__, ''exec''))" install --record /tmp/pip-SgfQCA-record/install-record.txt --single-version-externally-managed: running install running build running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/psycopg2 copying lib/pool.py -> build/lib.linux-x86_64-2.7/psycopg2 copying lib/errorcodes.py -> build/lib.linux-x86_64-2.7/psycopg2 copying lib/__init__.py -> build/lib.linux-x86_64-2.7/psycopg2 copying lib/_json.py -> build/lib.linux-x86_64-2.7/psycopg2 copying lib/_range.py -> build/lib.linux-x86_64-2.7/psycopg2 copying lib/extensions.py -> build/lib.linux-x86_64-2.7/psycopg2 copying lib/psycopg1.py -> build/lib.linux-x86_64-2.7/psycopg2 copying lib/tz.py -> build/lib.linux-x86_64-2.7/psycopg2 copying lib/extras.py -> build/lib.linux-x86_64-2.7/psycopg2 creating build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/testconfig.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copyng tests/test_bug_gc.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_dates.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_copy.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_cancel.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_bugX000.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_extras_dictcursor.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_psycopg2_dbapi20.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_types_basic.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_async.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_lobject.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_cursor.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_with.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/__init__.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_types_extras.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/testutils.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_notify.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_green.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_quote.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_connection.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_transaction.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/dbapi20.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/test_module.py -> build/lib.linux-x86_64-2.7/psycopg2/tests copying tests/dbapi20_tpc.py -> build/lib.linux-x86_64-2.7/psycopg2/tests running build_ext building ''psycopg2._psycopg'' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/psycopg x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DPSYCOPG_DEFAULT_PYDATETIME=1 -DPSYCOPG_VERSION="2.5.2 (dt dec pq3 ext)" -DPG_VERSION_HEX=0x09010D -DPSYCOPG_EXTENSIONS=1 -DPSYCOPG_NEW_BOOLEAN=1 -DHAVE_PQFREEMEM=1 -I/usr/include/python2.7 -I. -I/usr/include/postgresql -I/usr/include/postgresql/9.1/server -c psycopg/psycopgmodule.c -o build/temp.linux-x86_64-2.7/psycopg/psycopgmodule.o -Wdeclaration-after-statement In file included from psycopg/psycopgmodule.c:27:0: ./psycopg/psycopg.h:30:20: fatal error: Python.h: No such file or directory #include <Python.h> ^ compilation terminated. error: command ''x86_64-linux-gnu-gcc'' failed with exit status 1 ---------------------------------------- Cleaning up... Command /usr/bin/python -c "import setuptools;__file__=''/tmp/pip_build_root/psycopg2/setup.py'';exec(compile(open(__file__).read().replace(''/r/n'', ''/n''), __file__, ''exec''))" install --record /tmp/pip-SgfQCA-record/install-record.txt --single-version-externally-managed failed with error code 1 in /tmp/pip_build_root/psycopg2 Traceback (most recent call last): File "/usr/bin/pip", line 9, in <module> load_entry_point(''pip==1.4.1'', ''console_scripts'', ''pip'')() File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 148, in main return command.main(args[1:], options) File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 169, in main text = ''/n''.join(complete_log) UnicodeDecodeError: ''ascii'' codec can''t decode byte 0xce in position 54: ordinal not in range(128)

También recibo errores al intentar instalar Gunicorn. Seguí this ejemplo aquí, pero nada. Mi entorno virtual se creó utilizando el indicador --no-site-packages . Uso ubuntu 13.10 y el entorno griego. Tal vez es eso?


Antes que nada, instale python-dev

sudo apt-get install python-dev

Y para un uso adecuado prueba esto:

Esto tiene que ver con la codificación de su terminal que no está configurado en UTF-8. Aquí está mi terminal:

$ echo $LANG es_UY.UTF-8 $ python Python 2.7.3 (default, Apr 20 2012, 22:39:59) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> s = ''(/xef/xbd/xa1/xef/xbd/xa5/xcf/x89/xef/xbd/xa5/xef/xbd/xa1)/xef/xbe/x89'' >>> s1 = s.decode(''utf-8'') >>> print s1 (。・ω・。)ノ >>>

Si desactivé, obtuve el mismo error que obtuviste:

$ unset LANG $ python Python 2.7.3 (default, Apr 20 2012, 22:39:59) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> s = ''(/xef/xbd/xa1/xef/xbd/xa5/xcf/x89/xef/xbd/xa5/xef/xbd/xa1)/xef/xbe/x89'' >>> s1 = s.decode(''utf-8'') >>> print s1 Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: ''ascii'' codec can''t encode characters in position 1-5: ordinal not in range(128) >>>


El paquete python-dev es necesario para la compilación de extensiones de Python escritas en C o C ++, como psycopg2 . Si está ejecutando una distribución basada en Debian (por ejemplo, Ubuntu), puede instalar python-dev ejecutando

apt-get install python-dev

o

apt-get install python3-dev

dependiendo de tu versión de Python.

Después de eso, proceda a instalar psycopg2 en su entorno virtualenv como de costumbre.


En mi caso (ubuntu 12.04 con python 2.7 y python 3.4 instalados)

sudo apt-get install python3-dev

no fue suficiente. ¿Qué hizo el truco?

sudo apt-get install python3.4-dev


Para Ubuntu 14.04 , de Docker image python:3.4.3-slim esta combinación funcionó para mí:

sudo apt-get update sudo apt-get install -y build-essential sudo apt-get install -y python3.4-dev sudo apt-get install -y libpq-dev pip3 install psycopg2

Tenga en cuenta el paquete build-essential . Fue crucial en mi caso.