简体   繁体   English

无法在 windows 的 virtualenv 中安装 psycopg2

[英]Cannot Install psycopg2 in virtualenv in windows

I am trying to install Psycopg2 in my VirtualEnv, initially i was facing error it could not find pg_config.exe and i solved it by adding complete path in PATH.我正在尝试在我的 VirtualEnv 中安装 Psycopg2,最初我遇到错误,它找不到 pg_config.exe,我通过在 PATH 中添加完整路径来解决它。

But then it gave error Microsoft Visual C++ 14.0 is required.但随后它给出了错误 Microsoft Visual C++ 14.0 is required。 To remove this i have Installed VC_redist.x64 VC_redist.x86.要删除它,我安装了 VC_redist.x64 VC_redist.x86。

I have also installed C++ development modules in VS community.我还在 VS 社区中安装了 C++ 开发模块。 but it still gives this Error.但它仍然给出这个错误。

EDIT: Have also downloaded and installed VS build tools .编辑:还下载并安装了 VS build tools

My Environment: Windows 10 SL, Python 3.8.0, VirtualEnv 16.7.7, pip 19.3.1我的环境: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 now i had python 3.8(although i did try to install it with python 3.7)). 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 安装它))。 So i had to rebuild the virtualenv and am currently stuck on psycopg2所以我不得不重建 virtualenv 并且目前被困在 psycopg2

Install python 64bit version (x86-64 on the official site).安装python 64位版本(官网x86-64)。 I'd had the same problem and did evrt what you did and it didn't work, after installing the proper version of python, i solved the issue.在安装了正确版本的 python 后,我遇到了同样的问题,并且做了你所做的 evrt 并且它没有工作,我解决了这个问题。

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

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