postgresql - 在 windows 7 64 位 + python 3.4 上安装 psycopg2

标签 postgresql python-3.x

我已经阅读了几个相关链接。

  1. 如果我尝试 python port for windows : 我使用的是 python 3.4,所以它失败了。

  2. 对于下载存档+“setup.py install”或“pip install pyscopg2”,我收到以下错误。我安装了 visual studio 2012,我安装了 2010 版本来摆脱“找不到 vcvarsall.bat”

错误:

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

我尝试将 postregsql 安装路径的“lib”和“include”目录添加到我的路径中。事实上,缺少的符号似乎都在那里定义(libpq.obj/c/h)!启动了一个新的“cmd”,但结果相同。

最佳答案

我们最终通过 pip -> https://github.com/nwcell/psycopg2-windows 使用了这里的二进制文件通过 python 3.4

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

如本帖所述,http://www.lfd.uci.edu/~gohlke/pythonlibs/#psycopg也是一个很好的资源,但第一个解决方案解决了我的问题。

关于postgresql - 在 windows 7 64 位 + python 3.4 上安装 psycopg2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23175508/

相关文章:

python - 如何在 matplotlib python 中以垂直方式显示 xticks?

python - 删除 :memory: 中的数据库文件

python - 如何从另一个函数的 kwargs 中弹出元素?

python - 在 Python 中比较 csv 文件时循环内循环

php - 使用 PostgreSQL 计数查询优化 PHP 脚本

sql - 获取所有符合指定条件的json对象

json - 如何在 postgresql 中使用 json-sql?

python - 比较两个 .xlsx 工作簿并将差异打印到 3. python 工作簿中

sql - postgresql无法插入数据,外键错误

postgresql - 使用 pyscopg2 和 PostgreSQL 将日期时间插入数据库