Установка pgadmin4 на Linux

12 марта 2021 г. 1:06

Лично для меня самой простой установкой получилась через pip, а точнее через современный pipenv. Другими способами приходилось дольше решать разного рода ошибки.

Для более лёгкой установки pgAdmin я написал инсталятор py_pg_admin, который устанавливает pgAdmin, создаёт короткую команду терминала и добавляет иконку в Меню Линукса.
Инсталятор py_pg_admin находится на гитхабе: https://github.com/vivazzi/py_pg_admin

Внимание: Для начала убедитесь, что у вас актуальная версия pip и pipenv:
Установка и обновление pip и pipenv
Иначе pipenv может пропустить ошибку несовместимости пакетов или не установить требуемые пакеты и pgAdmin может не запуститься.

Установка pgAdmin через pipenv, используя py_pg_admin

Прежде всего удалите pgadmin3 или pgadmin4, если вы пытались установить его через исходный код или apt:

sudo apt purge pgadmin3 pgadmin4
sudo apt autoremove

Теперь выполните следующие шаги:

1. Откройте терминал и склонируйте репозиторий куда-нибудь в свою домашнюю папку.

git clone https://github.com/vivazzi/py_pg_admin.git
cd py_pg_admin

2. (Опционально) Скопируйте local_settings_sample.py в local_settings.py и установите желаемые параметры. Установщик содержит несколько сохранённых конфигураций Pipfile-ов. Чтобы посмотреть доступные, введите:

python3 pre_install.py --help

3. Запустите pre_install.py и следуйте инструкциям:

python3 pre_install.py

Эта команда создаёт папку .venv в папке проекта для того, чтобы pipenv установил виртуальное окружение рядом с проектом. Также команда попытается добавить Pipfile, указанной версии в local_settings.py, если вы сами его не создавали.

4. Убедитесь, что у вас установлен pipenv >= 2020.11.15 (более старые версии могут пропускать требуемые зависимые пакеты). Проверьте ваш Pipfile (создайте ваш Pipfile, если хотите использовать другую версию pgAdmin) и установите пакеты:

pipenv sync

5. Запустите в терминале:

sudo python3 post_install.py

Теперь вы можете запускать pgAdmin в терминале: pgAdmin[major version]. Например:

pgadmin4

Для удобства вы можете использовать иконку в Меню Линукса в разделе Программирование, например: Меню\Программирование\pgAdmin 4

После запуска иконки будет открыт терминал со следующей инструкцией:

Starting pgAdmin 4. Please navigate to http://127.0.0.1:5050 in your browser.
Using production server...

Теперь вы можете открыть pgAdmin на странице http://127.0.0.1:5050 в вашем браузере.

Решение ошибок

Репозиторий https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/ не содержит файла Release

pgAdmin4-5.0 можно установить через apt. Следуя инструкции вы должны добавить репозиторий:

sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list

Но при этом может возникнуть ошибка отсутствия apt для вашей версии Линукс. Например, как это было с моим Linux Mint версии ulyssa:

Репозиторий «https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/ulyssa pgadmin4 Release» не содержит файла Release

Чтобы исправить это, сначала выберите доступную версию дистрибутива https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/. Например, для себя я выбрал groovy.

Затем откройте файл /etc/apt/sources.list.d/pgadmin4.list:

nano /etc/apt/sources.list.d/pgadmin4.list

И впишите вместо вашей версии Linux выбранную версию. Например, в моём случае я сделал так:

# Было
deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/ulyssa pgadmin4 main

# Стало
deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/groovy pgadmin4 main

ModuleNotFoundError: No module named 'cheroot'

При ошибке:

pgAdmin Command: "/usr/pgadmin4/venv/bin/python3 /usr/pgadmin4/web/pgAdmin4.py"
Traceback (most recent call last):
  File "../web/pgAdmin4.py", line 16, in <module>
    from cheroot.wsgi import Server as CherootServer
ModuleNotFoundError: No module named 'cheroot'

Установите cheroot:

pipenv install cheroot

Command 'krb5-config --libs gssapi' returned non-zero exit

При ошибке:

subprocess.CalledProcessError: Command 'krb5-config --libs gssapi' returned non-zero exit status 1

Нужно установить libkrb5-dev и gssapi:

$ sudo ln -s /usr/bin/krb5-config.mit /usr/bin/krb5-config
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2 /usr/lib/libgssapi_krb5.so
$ sudo apt-get install python-pip libkrb5-dev
$ sudo pip install gssapi

ValueError: User model must contain fs_uniquifier as of 4.0.0

При установке pgAdmin4-4.29 через pip или pipenv может возникнуть ошибка:

ValueError: User model must contain fs_uniquifier as of 4.0.0

Дело в том, что устанавливается версия Flask-Security несовместимая с версией Flask 1.0.2. Добавьте в requirements.txt или Pipfile подходящую версию Flask-Security, например, так:

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
pgadmin4 = {file = "https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.29/pip/pgadmin4-4.29-py3-none-any.whl"}
flask-security-too = "==3.4.5"

[dev-packages]

[requires]
python_version = "3.8"

Оцените статью

5 из 5 (всего 1 оценка)

captcha
Поля, отмеченные звёздочкой ( * ) , являются обязательными.

Спасибо за ваш отзыв!

После нажатия кнопки "Отправить" ваше сообщение будет доставлено мне на почту.

Автор статьи

Мальцев Артём

Веб-разработчик, владеющий знаниями языка программирования Python, фреймворка Django, системы управления содержимым сайта Django CMS, платформы для создания интернет-магазина Django Shop и многих различных приложений, использующих эти технологии.

Права на использование материала, расположенного на этой странице https://vivazzi.pro/it/install-pgadmin4-linux/:

Разрешается копировать материал с указанием её автора и ссылки на оригинал без использования параметра rel="nofollow" в теге <a>. Использование:

Автор статьи: Мальцев Артём
Ссылка на статью: <a href="https://vivazzi.pro/it/install-pgadmin4-linux/">https://vivazzi.pro/it/install-pgadmin4-linux/</a>

Подробнее: Правила использования сайта

Комментариев: 0

Вы можете оставить комментарий как незарегистрированный пользователь.

Но зарегистрировавшись, вы сможете:

  • получать оповещения об ответах
  • просматривать свои комментарии
  • иметь возможность использовать все функции разработанных сервисов

Для комментрирования от своего имени, войдите или зарегистрируйтесь обычным способом или через социальные сети:

Отправить

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте

Выберите валюту для отображения денежных единиц