postgresql 无法安装psycopg2(pip install psycopg2)

xtupzzrd  于 2023-04-20  发布在  PostgreSQL
关注(0)|答案(9)|浏览(239)

我使用的是MAC和Python版本2.7.14

Collecting psycopg2
  Could not fetch URL https://pypi.python.org/simple/psycopg2/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:661) - skipping
  Could not find a version that satisfies the requirement psycopg2 (from versions: )
No matching distribution found for psycopg2
pgvzfuti

pgvzfuti1#

试试这个:

pip install psycopg2-binary
7vux5j2d

7vux5j2d2#

我有同样的问题,当我尝试'pip安装'软件包正在进行的项目上运行的一个全新的MacBook在大苏尔OS.经过一些研究,我遇到了这个解决方案,为我工作.以下是步骤:
1.使用以下命令安装Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  1. brew install postgresql
  2. brew install openssl
  3. brew link openssl
    1.设置以下环境变量(“flags”):
    export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib"
    export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include"
    1.最后,使用以下命令安装psycopg 2:
    pip install psycopg2-binary
    结果如下:
    收集psycopg 2-binary使用缓存的psycopg2-binary-2.9.1.tar.gz(380 kB)为收集的包构建轮子:psycopg 2-binary构建psycopg 2-binary的wheel(setup.py)... done已创建psycopg 2-binary的wheel:filename=psycopg2_binary-2.9.1-cp 39-cp 39-macosx_10_9_universal2.whl size=241235 sha 256 = e825 a38765 f20 a331 ef 619 e1368 ee 9d 1a 678 f34969 e3 c467 d94 bc 4122 af 1ac 6 f存储在目录:/Users/me/Library/Caches/pip/wheels/4 b/c8/c2/72089 ea 1a 611 c119754 d513 bdacea 935 cfeb 19600 d 06 d45 b4 b成功构建psycopg 2-binary安装收集的软件包:psycopg 2-binary已成功安装psycopg 2-binary-2.9.1
c0vxltue

c0vxltue3#

同样的问题,忘记安装psql:https://wiki.postgresql.org/wiki/Homebrew
于是我跑了:

brew install postgresql
brew services start postgresql
ggazkfy8

ggazkfy84#

你使用的是没有最安全的TLS实现的旧Python,你需要升级它。否则,你将无法从PyPI“pip install”软件包。
1)要检查Python解释器的TLS版本,请安装“requests”包并运行命令。例如,对于Python 2:

python2 -m pip install --upgrade requests
python2 -c "import requests;
print(requests.get('https://www.howsmyssl.com/a/check',verify=False).json()['tls_version'])"

或者Python 3:

python3 -m pip install --upgrade requests
python3 -c "import requests; 
print(requests.get('https://www.howsmyssl.com/a/check',verify=False).json()['tls_version'])"

如果你看到“TLS 1.2”,你的解释器的TLS是最新的。如果你看到“TLS 1.0”或类似“tlsv1 alert protocol version”的错误,那么你必须升级。
2)Python的TLS实现在macOS上落后的原因是Python继续使用OpenSSL,苹果已经停止在macOS上更新。在未来的一年里,Python Packaging Authority团队将研究将pip移植到苹果自己的“SecureTransport”库中,作为OpenSSL的替代品,这将允许旧的Python解释器仅使用pip的现代TLS。“这是一项不小的工作,斯图夫特写道,“我不确定这件事能不能完成。”
从长远来看,Python解释器本身很容易跟上TLS版本,如果它没有在macOS和Windows等平台上使用OpenSSL,而这些平台上没有提供OpenSSL。

gywdnpxw

gywdnpxw5#

这是一个老问题,但它可能是值得的。
如果你使用的是Conda包管理器,只需在终端上运行以下命令:
conda install psycopg2

lb3vh1jj

lb3vh1jj6#

我遇到了这个问题,在这里成功地提问和回答:
Cannot get psycopg2 to work, but installed correctly. Mac OS
[save你点击]
我已经安装了anaconda 2。安装更新了我的路径,包括/anaconda/bin。
然后使用导航器安装了pyscopg 2。现在我可以在shebang中使用它,我的脚本执行良好,我可以导入这个模块。

Gurmokhs-MBP:rest Gurmokh$ python
Python 2.7.12 |Anaconda 4.2.0 (x86_64)| (default, Jul  2 2016, 17:43:17) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import psycopg2
if psycopg2.connect("dbname='postgres' user='postgres' host='localhost'"):
...     print "connection made"
... 
connection made
>>>
sdnqo3pr

sdnqo3pr7#

一个便携式的解决方案,以解决此错误,无论OpenSSL版本的Mac用户使用自制软件

OPENSSL_VERSION=$(brew info openssl --json | jq '.[0].name')

export CPPFLAGS="-I/opt/homebrew/opt/$OPENSSL_VERSION/include"
export LDFLAGS="-L/opt/homebrew/opt/$OPENSSL_VERSION/lib"

pip install psycopg2 # OR psycopg2-binary
bxfogqkk

bxfogqkk8#

试试这个:

pip install pgcli==2.1.1 --only-binary psycopg2
uqcuzwp8

uqcuzwp89#

  • 我使用进程监视器进行了跟踪。D:\Anaconda3\DLLs_ssl.pyd搜索OpenSSL DLL,但在错误的/当前位置!由于未找到它们,因此搜索转到C:\Windows\System32,其中有相同的DLL,由其他应用程序安装,但版本不同。
  • Anaconda 3提供的DLL位于此处:D:\Anaconda3\Library\bin*
    分辨率

我的解决方法:我复制了以下文件
libcrypto-1_1-x64.* libssl-1_1-x64.* 从D:\Anaconda3\Library\binD:\Anaconda3\DLL。

相关问题