pgAdmin4をCentOS8+Python3.9へインストールしようとして失敗

PostgreSQLを久しぶりに触ってウェブ版pgAdmin4をインストールしたときの覚書。

環境: CentOS Stream 8, PostgreSQL 14.2, pgAdmin4 6.5

インストールに成功した記事はこちら。
参考: pgAdmin4をCentOS8にvenvでインストール

参考


上記サイトを参考にインストール
# dnf install pgadmin4-redhat-repo
# dnf info pgadmin4-web
# dnf install pgadmin4-web

Package pgadmin4-redhat-repo-0.9-2.noarch is already installed.

なぜかpgadmin4-redhat-repo-0.9-2をインストールしようとしている…
cleanして再実行
# dnf clean all
# dnf install pgadmin4-web

…変わらずインストールできないので、リポジトリ情報だけ残して削除。
# cd /etc/yum.repos.d/
# cp pgadmin4.repo pgadmin4.repo.bak
# dnf remove pgadmin4-redhat-repo
# mv pgadmin4.repo.bak pgadmin4.repo
# dnf install pgadmin4-web

依存関係でPython3.6をインストールするので止めた。
前の記事でPython3.9に変更したばっかり。

pip経由でインストールすることにした。
# pip install pgadmin4

エラー

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pyopenssl 22.0.0 requires cryptography>=35.0, but you have cryptography 3.4.8 which is incompatible.

cryptographyパッケージのインストールして再実行
# pip install cryptography
# pip install pgadmin4

同じエラー。
pyopensslとpgadmin4が要求するcryptographyのバージョンが違うためらしい。

pyopensslを削除して試してみる。
# pip uninstall pyopenssl
# pip install pgadmin4

やっぱりダメ。
issueチケットをみてみたけど直りそうな気配がない。
参考: Support | pgAdmin

大人しくPython3.6でYUM経由した方が良さそう。

元に戻す
# pip uninstall pgadmin4
# pip install pyopenssl

今のところDBeaverがあるので困ってはない。


GunicornとuWSGIの違い

両方ともPythonのWeb Server Gateway Interface(WSGI)を実装するHTTPサーバー。
結論から言うとGunicornでOK。

参考サイト


Gunicorn

公式サイト: Gunicorn - Python WSGI HTTP Server for UNIX

  • コミュニティ運営。
  • GitHubにリポジトリがあり更新頻度も高い
  • GoogleトレンドではGunicorn人気。なぜか日本だけuWSGIが人気。


uWSGI

公式サイト: The uWSGI project — uWSGI 2.0 documentation


【関連記事】