繁体   English   中英

无法在 windows 的 virtualenv 中安装 psycopg2

[英]Cannot Install psycopg2 in virtualenv in windows

我正在尝试在我的 VirtualEnv 中安装 Psycopg2,最初我遇到错误,它找不到 pg_config.exe,我通过在 PATH 中添加完整路径来解决它。

但随后它给出了错误 Microsoft Visual C++ 14.0 is required。 要删除它,我安装了 VC_redist.x64 VC_redist.x86。

我还在 VS 社区中安装了 C++ 开发模块。 但它仍然给出这个错误。

编辑:还下载并安装了 VS build tools

我的环境:Windows 10 SL,Python 3.8.0,VirtualEnv 16.7.7,pip 19.31。

    psycopgmodule.obj : error LNK2001: unresolved external symbol _PQfreemem
    psycopgmodule.obj : error LNK2001: unresolved external symbol _PQencryptPasswordConn
    psycopgmodule.obj : error LNK2001: unresolved external symbol _PQencryptPassword
    psycopgmodule.obj : error LNK2001: unresolved external symbol _PQinitOpenSSL
    psycopgmodule.obj : error LNK2001: unresolved external symbol _PQconninfoParse
    psycopgmodule.obj : error LNK2001: unresolved external symbol _PQerrorMessage
    psycopgmodule.obj : error LNK2001: unresolved external symbol _PQlibVersion
    psycopgmodule.obj : error LNK2001: unresolved external symbol _PQconninfoFree
    green.obj : error LNK2001: unresolved external symbol _PQclear
    pqpath.obj : error LNK2001: unresolved external symbol _PQbinaryTuples
    pqpath.obj : error LNK2001: unresolved external symbol _PQsetnonblocking
    pqpath.obj : error LNK2001: unresolved external symbol _PQgetvalue
    pqpath.obj : error LNK2001: unresolved external symbol _PQresultStatus
    pqpath.obj : error LNK2001: unresolved external symbol _PQoidValue
    pqpath.obj : error LNK2001: unresolved external symbol _PQcmdStatus
    pqpath.obj : error LNK2001: unresolved external symbol _PQsocket
    pqpath.obj : error LNK2001: unresolved external symbol _PQftablecol
    pqpath.obj : error LNK2001: unresolved external symbol _PQputCopyData
    pqpath.obj : error LNK2001: unresolved external symbol _PQstatus
    pqpath.obj : error LNK2001: unresolved external symbol _PQisBusy
    pqpath.obj : error LNK2001: unresolved external symbol _PQconsumeInput
    pqpath.obj : error LNK2001: unresolved external symbol _PQresultErrorField
    pqpath.obj : error LNK2001: unresolved external symbol _PQfsize
    pqpath.obj : error LNK2001: unresolved external symbol _PQfname
    pqpath.obj : error LNK2001: unresolved external symbol _PQsendQuery
    pqpath.obj : error LNK2001: unresolved external symbol _PQgetCopyData
    pqpath.obj : error LNK2001: unresolved external symbol _PQftable
    pqpath.obj : error LNK2001: unresolved external symbol _PQflush
    pqpath.obj : error LNK2001: unresolved external symbol _PQftype
    pqpath.obj : error LNK2001: unresolved external symbol _PQnfields
    pqpath.obj : error LNK2001: unresolved external symbol _PQresultErrorMessage
    pqpath.obj : error LNK2001: unresolved external symbol _PQexec
    pqpath.obj : error LNK2001: unresolved external symbol _PQfmod
    pqpath.obj : error LNK2001: unresolved external symbol _PQcmdTuples
    pqpath.obj : error LNK2001: unresolved external symbol _PQntuples
    pqpath.obj : error LNK2001: unresolved external symbol _PQresStatus
    pqpath.obj : error LNK2001: unresolved external symbol _PQputCopyEnd
    pqpath.obj : error LNK2001: unresolved external symbol _PQgetResult
    utils.obj : error LNK2001: unresolved external symbol _PQescapeString
    utils.obj : error LNK2001: unresolved external symbol _PQescapeStringConn
    utils.obj : error LNK2001: unresolved external symbol _PQescapeIdentifier
    connection_int.obj : error LNK2001: unresolved external symbol _PQconnectPoll
    connection_int.obj : error LNK2001: unresolved external symbol _PQserverVersion
    connection_int.obj : error LNK2001: unresolved external symbol _PQnotifies
    connection_int.obj : error LNK2001: unresolved external symbol _PQsetNoticeProcessor
    connection_int.obj : error LNK2001: unresolved external symbol _PQgetCancel
    connection_int.obj : error LNK2001: unresolved external symbol _PQfinish
    connection_int.obj : error LNK2001: unresolved external symbol _PQprotocolVersion
    connection_int.obj : error LNK2001: unresolved external symbol _PQfreeCancel
    connection_int.obj : error LNK2001: unresolved external symbol _PQconnectdb
    connection_int.obj : error LNK2001: unresolved external symbol _PQconnectStart
    connection_int.obj : error LNK2001: unresolved external symbol _PQparameterStatus
    connection_type.obj : error LNK2001: unresolved external symbol _PQcancel
    connection_type.obj : error LNK2001: unresolved external symbol _PQtransactionStatus
    connection_type.obj : error LNK2001: unresolved external symbol _PQbackendPID
    connection_type.obj : error LNK2001: unresolved external symbol _PQconninfo
    cursor_type.obj : error LNK2001: unresolved external symbol _PQgetisnull
    cursor_type.obj : error LNK2001: unresolved external symbol _PQgetlength
    conninfo_type.obj : error LNK2001: unresolved external symbol _PQsslInUse
    conninfo_type.obj : error LNK2001: unresolved external symbol _PQconnectionNeedsPassword
    conninfo_type.obj : error LNK2001: unresolved external symbol _PQpass
    conninfo_type.obj : error LNK2001: unresolved external symbol _PQdb
    conninfo_type.obj : error LNK2001: unresolved external symbol _PQsslAttribute
    conninfo_type.obj : error LNK2001: unresolved external symbol _PQport
    conninfo_type.obj : error LNK2001: unresolved external symbol _PQoptions
    conninfo_type.obj : error LNK2001: unresolved external symbol _PQconnectionUsedPassword
    conninfo_type.obj : error LNK2001: unresolved external symbol _PQsslAttributeNames
    conninfo_type.obj : error LNK2001: unresolved external symbol _PQuser
    conninfo_type.obj : error LNK2001: unresolved external symbol _PQhost
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_truncate
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_write
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_export
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_import
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_creat
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_read
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_tell
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_create
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_lseek
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_unlink
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_open
    lobject_int.obj : error LNK2001: unresolved external symbol _lo_close
    adapter_binary.obj : error LNK2001: unresolved external symbol _PQescapeByteaConn
    adapter_binary.obj : error LNK2001: unresolved external symbol _PQescapeBytea
    build\lib.win32-3.8\psycopg2\_psycopg.cp38-win32.pyd : fatal error LNK1120: 83 unresolved externals
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.23.28105\\bin\\HostX86\\x86\\link.exe' failed with exit status 1120

background: I am doing development in Django which uses pgSQL, for some reasons, i did a clean install of windows and after windows installation, i run my virtualenv but it could not detect any package(maybe because my env was created in python 3.7 and现在我有 python 3.8(尽管我确实尝试使用 python 3.7 安装它))。 所以我不得不重建 virtualenv 并且目前被困在 psycopg2

安装python 64位版本(官网x86-64)。 在安装了正确版本的 python 后,我遇到了同样的问题,并且做了你所做的 evrt 并且它没有工作,我解决了这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM