web-dev-qa-db-ja.com

psycopg2 == 2.8.1のインストール時にエラーが発生する

これは非常に新しく、tutから学ぼうとしています。Flaskビルドの依存関係をインストールして、ターミナルでエラーが発生します

インストールする次のものがあります

pipenv install flask flask-sqlalchemy psycopg2 flask-migrate flask-script Marshmallow flask-bcrypt pyjwt

Python、PostSQL、pipenvがインストールされていることを確認し、次のエラーが発生する

An error occurred while installing psycopg2==2.8.1 --hash=sha256:3648afc2b4828a6e00d516d2d09a260edd2c1e3de1e0d41d99c5ab004a73d180 --hash=sha256:5329b4530e31f58e0eafc55e26bbef684509bcc3be41604e45c0b98c297dc722 --hash=sha256:7c1ae1669d11105a002f804bebd7432f8dc7473459aa405164c6b44a922decd5 --hash=sha256:8af13498e32a00d0a66e43b7491c15231b27ab964ee4d2277a4a2dbadfb2c482 --hash=sha256:9d5489867bd5f6d6c6191a4debd8de9a5c03a9608cce3f4d7133e29e6bd4ec27 --hash=sha256:a17bfc9faffcca0ad9360c1ad97ab61ede583aa954715e8e436ffd80046661ff --hash=sha256:b4a475ce87eabc0607e068a3c704d0aa0820237ed78d493b8e2d880eb73cd7fe --hash=sha256:c49d66e97affdc80d084b3b363f09f17db621418f0b8e0524b06c54959e2094d --hash=sha256:d13fbc3d533656cfdf094e13c1b0f40917b72813755ba780971ba0ce04280ac4 --hash=sha256:e1e4fe6e8ab9f9c7d28514d007f623999d2dd6b5b81069dd4f9d30dbdd6f7069 --hash=sha256:e67d60cb1a32f5fd8fcea935cf9efb1d1c26f96203b0ca2ae98c4c40ef8d8eac! Will try again.
6
GrahamMorbyDev

次のようなエラーが表示された場合は、libpq-devをインストールする必要があります

 Sudo apt-get install libpq-dev 

エラー:b 'サーバー側拡張機能を構築するにはpostgresql-server-dev-NNを、クライアント側アプリケーションを構築するにはlibpq-devをインストールする必要があります。\ n' "、 '---------- ------------------------------ '、' ERROR:Command errored out with exit status 1:python setup.py Egg_infoコマンドの完全な出力をログで確認してください。 ']

1
shahid

私はパイピングに頼らなければなりませんでしたrun pip

pipenv run pip install psycopg2-binary
1

Uは postgres を使用できます。これは、psycopg2よりも価値の高い抽象概念です。そして、psycopg2-binaryを使用します。 pipenv install postgresの後、pipリストに次の要求が表示されます。

postgres        3.0.0                                                                                    
psycopg2-binary 2.8.4                                                                                    
psycopg2-pool   1.1

バイナリパッケージは、開発とテストの実用的な選択肢ですが、本番環境では、ソースからビルドされたパッケージを使用することをお勧めします。したがって、運用ではpsycopg2-binaryのみを使用しないでください。

# project/settings.py
DATABASES = {
  'default': {
  'ENGINE': 'Django.db.backends.postgresql',
  'NAME': 'postgres',
  'USER': 'postgres',
  'PASSWORD': 'postgres',
  'Host': 'db',
  'PORT': 5432
  }
}

追加:Windowsでpipenvを使用してpsycopg2バージョン> 2.7を使用しても問題はありません。

PS D:\> pipenv Shell
Creating a virtualenv for this project…
Pipfile: D:\Pipfile
Using c:\python\python37\python.exe (3.7.6) to create virtualenv…
[=== ] Creating virtual environment...created virtual environment CPython3.7.6.final.0-64 in 2093ms

  creator CPython3Windows(dest=D:\-_SHv_4lM, clear=False, global=False)

  seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\parfeniukink\AppData\Local\Temp\tmpnwrfdufn\seed-app-data\v1)

  activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator

Successfully created virtual environment!
Virtualenv location: D:-_SHv_4lM
Creating a Pipfile for this project…
Launching subshell in virtual environment…
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

PS D:\> pipenv install psycopg2
Installing psycopg2…
Adding psycopg2 to Pipfile's [packages]…
Installation Succeeded
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Success!
Updated Pipfile.lock (59b6f6)!
Installing dependencies from Pipfile.lock (59b6f6)…
  ================================ 1/1 - 00:00:00
PS D:\> pip list
Package    Version
---------- -------
pip        20.0.2
psycopg2   2.8.4
setuptools 45.2.0
wheel      0.34.2
PS D:\>
0
parfeniukink