5

I've read several links about that.

  1. If I try the python port for windows: I'm using python 3.4 so it fails.

  2. For both downloading the archive + "setup.py install" or "pip install pyscopg2" I got the below error. I had visual studio 2012 installed, I installed a 2010 version to get rid of "vcvarsall.bat not found"

ERROR:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\Python34\libs /LIBPATH:C:\Python34\PCbuild /LIBPATH:C:/PROGRA~1/POSTGR~1/9.3/lib ws2_32.lib advapi32.lib secur32.lib libpq.lib shfolder.lib build\temp.win32-3.4\Release\psycopg\psycopgmodule.obj build\temp.win32-3.4\Release\psycopg\green.obj build\temp.win32-3.4\Release\psycopg\pqpath.obj build\temp.win32-3.4\Release\psycopg\utils.obj build\temp.win32-3.4\Release\psycopg\bytes_format.obj build\temp.win32-3.4\Release\psycopg\connection_int.obj build\temp.win32-3.4\Release\psycopg\connection_type.obj build\temp.win32-3.4\Release\psycopg\cursor_int.obj build\temp.win32-3.4\Release\psycopg\cursor_type.obj build\temp.win32-3.4\Release\psycopg\diagnostics_type.obj build\temp.win32-3.4\Release\psycopg\error_type.obj build\temp.win32-3.4\Release\psycopg\lobject_int.obj build\temp.win32-3.4\Release\psycopg\lobject_type.obj build\temp.win32-3.4\Release\psycopg\notify_type.obj build\temp.

win32-3.4\Release\psycopg\xid_type.obj build\temp.win32-3.4\Release\psycopg\adapter_asis.obj build\temp.win32-3.4\Release\psycopg\adapter_binary.obj build\temp.win32-3.4\Release\psycopg\adapter_datetime.obj build\temp.win32-3.4\Release\psycopg\adapter_list.obj build\temp.win32-3.4\Release\psycopg\adapter_pboolean.obj build\temp.win32-3.4\Release\psycopg\adapter_pdecimal.obj build\temp.win32-3.4\Release\psycopg\adapter_pint.obj build\temp.win32-3.4\Release\psycopg\adapter_pfloat.obj build\temp.win32-3.4\Release\psycopg\adapter_qstring.obj build\temp.win32-3.4\Release\psycopg\microprotocols.obj build\temp.win32-3.4\Release\psycopg\microprotocols_proto.obj build\temp.win32-3.4\Release\psycopg\typecast.obj /OUT:build\lib.win32-3.4\psycopg2\_psycopg.pyd /IMPLIB:build\temp.win32-3.4\Release\psycopg\_psycopg.lib /MANIFESTFILE:build\temp.win32-3.4\Release\psycopg\_psycopg.pyd.manifest

   Creating library build\temp.win32-3.4\Release\psycopg\_psycopg.lib and object build\temp.win32-3.4\Release\psycopg\_psycopg.exp

pqpath.obj : error LNK2019: unresolved external symbol _PQclear referenced in function _pq_raise

connection_int.obj : error LNK2001: unresolved external symbol _PQclear

cursor_type.obj : error LNK2001: unresolved external symbol _PQclear

error_type.obj : error LNK2001: unresolved external symbol _PQclear

pqpath.obj : error LNK2019: unresolved external symbol _PQerrorMessage referenced in function _pq_raise

connection_int.obj : error LNK2001: unresolved external symbol _PQerrorMessage

lobject_int.obj : error LNK2001: unresolved external symbol _PQerrorMessage

pqpath.obj : error LNK2019: unresolved external symbol _PQresultErrorField referenced in function _pq_raise

diagnostics_type.obj : error LNK2001: unresolved external symbol _PQresultErrorField

pqpath.obj : error LNK2019: unresolved external symbol _PQresultErrorMessage referenced in function _pq_raise

pqpath.obj : error LNK2019: unresolved external symbol _PQstatus referenced in function _pq_raise

connection_int.obj : error LNK2001: unresolved external symbol _PQstatus

pqpath.obj : error LNK2019: unresolved external symbol _PQgetResult referenced in function _pq_clear_async

pqpath.obj : error LNK2019: unresolved external symbol _PQsetnonblocking referenced in function _pq_set_non_blocking

pqpath.obj : error LNK2019: unresolved external symbol _PQresultStatus referenced in function _pq_execute_command_locked

connection_int.obj : error LNK2001: unresolved external symbol _PQresultStatus

pqpath.obj : error LNK2019: unresolved external symbol _PQexec referenced in function _pq_execute_command_locked

pqpath.obj : error LNK2019: unresolved external symbol _PQgetvalue referenced in function _pq_get_guc_locked

cursor_type.obj : error LNK2001: unresolved external symbol _PQgetvalue

pqpath.obj : error LNK2019: unresolved external symbol _PQisBusy referenced in function _pq_is_busy

pqpath.obj : error LNK2019: unresolved external symbol _PQconsumeInput referenced in function _pq_is_busy

pqpath.obj : error LNK2019: unresolved external symbol _PQflush referenced in function _pq_flush

connection_int.obj : error LNK2001: unresolved external symbol _PQflush

pqpath.obj : error LNK2019: unresolved external symbol _PQsendQuery referenced in function _pq_send_query

pqpath.obj : error LNK2019: unresolved external symbol _PQfname referenced in function __pq_fetch_tuples

pqpath.obj : error LNK2019: unresolved external symbol _PQfmod referenced in function __pq_fetch_tuples

pqpath.obj : error LNK2019: unresolved external symbol _PQfsize referenced in function __pq_fetch_tuples

pqpath.obj : error LNK2019: unresolved external symbol _PQftype referenced in function __pq_fetch_tuples

pqpath.obj : error LNK2019: unresolved external symbol _PQbinaryTuples referenced in function __pq_fetch_tuples

pqpath.obj : error LNK2019: unresolved external symbol _PQnfields referenced in function __pq_fetch_tuples

cursor_type.obj : error LNK2001: unresolved external symbol _PQnfields

pqpath.obj : error LNK2019: unresolved external symbol _PQputCopyEnd referenced in function __pq_copy_in_v3

pqpath.obj : error LNK2019: unresolved external symbol _PQputCopyData referenced in function __pq_copy_in_v3

pqpath.obj : error LNK2019: unresolved external symbol _PQfreemem referenced in function __pq_copy_out_v3

connection_int.obj : error LNK2001: unresolved external symbol _PQfreemem

adapter_binary.obj : error LNK2001: unresolved external symbol _PQfreemem

pqpath.obj : error LNK2019: unresolved external symbol _PQgetCopyData referenced in function __pq_copy_out_v3

pqpath.obj : error LNK2019: unresolved external symbol _PQntuples referenced in function _pq_fetch

pqpath.obj : error LNK2019: unresolved external symbol _PQoidValue referenced in function _pq_fetch

pqpath.obj : error LNK2019: unresolved external symbol _PQcmdTuples referenced in function _pq_fetch

pqpath.obj : error LNK2019: unresolved external symbol _PQcmdStatus referenced in function _pq_fetch

pqpath.obj : error LNK2019: unresolved external symbol _PQresStatus referenced in function _pq_fetch

utils.obj : error LNK2019: unresolved external symbol _PQescapeString referenced in function _psycopg_escape_string

utils.obj : error LNK2019: unresolved external symbol _PQescapeStringConn referenced in function _psycopg_escape_string

connection_int.obj : error LNK2019: unresolved external symbol _PQnotifies referenced in function _conn_notifies_process

connection_int.obj : error LNK2019: unresolved external symbol _PQparameterStatus referenced in function _conn_get_standard_conforming_strings

connection_type.obj : error LNK2001: unresolved external symbol _PQparameterStatus

connection_int.obj : error LNK2019: unresolved external symbol _PQprotocolVersion referenced in function _conn_get_protocol_version

connection_int.obj : error LNK2019: unresolved external symbol _PQserverVersion referenced in function _conn_get_server_version

connection_int.obj : error LNK2019: unresolved external symbol _PQgetCancel referenced in function _conn_setup_cancel

connection_int.obj : error LNK2019: unresolved external symbol _PQfreeCancel referenced in function _conn_setup_cancel

connection_type.obj : error LNK2001: unresolved external symbol _PQfreeCancel

connection_int.obj : error LNK2019: unresolved external symbol _PQsetNoticeProcessor referenced in function __conn_sync_connect

connection_int.obj : error LNK2019: unresolved external symbol _PQconnectStart referenced in function __conn_sync_connect

connection_int.obj : error LNK2019: unresolved external symbol _PQconnectdb referenced in function __conn_sync_connect

connection_int.obj : error LNK2019: unresolved external symbol _PQconnectPoll referenced in function __conn_poll_connecting

connection_int.obj : error LNK2019: unresolved external symbol _PQfinish referenced in function _conn_close_locked

connection_type.obj : error LNK2019: unresolved external symbol _PQtransactionStatus referenced in function _psyco_conn_get_transaction_status

connection_type.obj : error LNK2019: unresolved external symbol _PQbackendPID referenced in function _psyco_conn_get_backend_pid

connection_type.obj : error LNK2019: unresolved external symbol _PQsocket referenced in function _psyco_conn_fileno

connection_type.obj : error LNK2019: unresolved external symbol _PQcancel referenced in function _psyco_conn_cancel

cursor_type.obj : error LNK2019: unresolved external symbol _PQgetlength referenced in function __psyco_curs_buildrow_fill

cursor_type.obj : error LNK2019: unresolved external symbol _PQgetisnull referenced in function __psyco_curs_buildrow_fill

lobject_int.obj : error LNK2019: unresolved external symbol _lo_open referenced in function _lobject_open

lobject_int.obj : error LNK2019: unresolved external symbol _lo_creat referenced in function _lobject_open

lobject_int.obj : error LNK2019: unresolved external symbol _lo_create referenced in function _lobject_open

lobject_int.obj : error LNK2019: unresolved external symbol _lo_import referenced in function _lobject_open

lobject_int.obj : error LNK2019: unresolved external symbol _lo_close referenced in function _lobject_close_locked

lobject_int.obj : error LNK2019: unresolved external symbol _lo_unlink referenced in function _lobject_unlink

lobject_int.obj : error LNK2019: unresolved external symbol _lo_write referenced in function _lobject_write

lobject_int.obj : error LNK2019: unresolved external symbol _lo_read referenced in function _lobject_read

lobject_int.obj : error LNK2019: unresolved external symbol _lo_lseek referenced in function _lobject_seek

lobject_int.obj : error LNK2019: unresolved external symbol _lo_tell referenced in function _lobject_tell

lobject_int.obj : error LNK2019: unresolved external symbol _lo_export referenced in function _lobject_export

lobject_int.obj : error LNK2019: unresolved external symbol _lo_truncate referenced in function _lobject_truncate

adapter_binary.obj : error LNK2019: unresolved external symbol _PQescapeBytea referenced in function _binary_escape

adapter_binary.obj : error LNK2019: unresolved external symbol _PQescapeByteaConn referenced in function _binary_escape

build\lib.win32-3.4\psycopg2\_psycopg.pyd : fatal error LNK1120: 62 unresolved externals

error: command '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\link.exe"' failed with exit status 1120

I tried to add the 'lib' and 'include' directories of postregsql install path into my path. Indeed, missing symbols seem to all be defined there (libpq.obj/c/h) ! Started a new 'cmd', but same result.

user2346536
  • 1,464
  • 2
  • 21
  • 43
  • 2
    3.4 build: http://www.lfd.uci.edu/~gohlke/pythonlibs/#psycopg – Eryk Sun Apr 19 '14 at 22:35
  • 2
    Install the binaries. Building psycopg2 from source on Windows is annoying and painful. – Craig Ringer Apr 20 '14 at 02:44
  • thanks guys! though, it tells me "python 3.4 not found in registry", which key shall I update. Is there a software that intercepts any read trial between another software and registry ? – user2346536 Apr 20 '14 at 07:28
  • ok found it: http://stackoverflow.com/questions/3008509/python-version-2-6-required-which-was-not-found-in-the-registry and http://tech.valgog.com/2010/01/after-installing-64-bit-windows-7-at.html – user2346536 Apr 20 '14 at 07:47
  • @eryksun, Solved! Copy your comment as an answer and i'll choose it. – user2346536 Apr 20 '14 at 07:48
  • @eryksun, I tried the amd64, after running the above "registry script", install went through. But I had errors when running "manage.py syncdb" from django, about a "not valid Win 32 DLL" or something like that. Then I ran the x86 installer, and I'm now, thanks to you, using postgres with django ! – user2346536 Apr 20 '14 at 14:38

3 Answers3

5

WE ended up using the binaries from here via pip -> https://github.com/nwcell/psycopg2-windows via python 3.4

pip install git+https://github.com/nwcell/psycopg2-windows.git@win64-py34#egg=psycopg2

as mentioned in this thread, http://www.lfd.uci.edu/~gohlke/pythonlibs/#psycopg is a good resource too, but the first solution solved my issue.

kennydust
  • 1,135
  • 15
  • 17
0

I could not find any binaries for psycopg2 for windows 64 bit and python 3.4. I suggest you downgrade to python 3.3 and use the correct binaries found at the address below.

If you are using a virtualenv you will need to activate it and use easy_install to install the binaries.

This way : easy_install http://www.stickpeople.com/projects/python/win-psycopg/2.5.2/psycopg2-2.5.2.win-amd64-py3.3-pg9.2.6-release.exe

EDIT : You can try these for 3.4 64bit http://www.lfd.uci.edu/~gohlke/pythonlibs/

0

Solved the same problem here. I got to download the binaries from the Christoph Gohlke's Unofficial Windows binaries (http://www.lfd.uci.edu/~gohlke/pythonlibs/#psychopy) and install using wheel. Note that even if you are running on a 64 bit computer, you may want to try using the win32 version if the win_amd64 doesn't work.

To install the downloaded *.whl using wheel (as solved here: https://stackoverflow.com/a/27909082/4650346) you just do

pip install wheel

And then:

pip install psycopg2‑2.5.5‑cp34‑none‑win32.whl

And it works perfectly well on virtualenv also.

Community
  • 1
  • 1