2016-12-21 5 views
7

Я установил postgresql 9.6 (с помощью предлагаемого установщика Linux), который поставляется с pgAdmin4, но получаю несколько ошибок.Ошибка при попытке запуска pgAdmin4

Во-первых, мне пришлось изменить имя папки с «pgAdmin 4» (обратите внимание на дополнительное пространство) на «pgAdmin4», чтобы избежать «ошибки, не найденной в файле».

Тогда я бегу sudo python pgAdmin4.py и получил следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "../../pgAdmin4.py", line 24, in <module> 
     from pgadmin import create_app 
    File "/opt/PostgreSQL/9.6/pgAdmin4/web/pgadmin/__init__.py", line 17, in <module> 
     from flask import Flask, abort, request, current_app 
ImportError: No module named flask 

Я попытался после этой связанный с этим вопрос: Flask ImportError: No Module Named Flask - удалось установленной колбу на virtualenv.

Но тогда я начал получать другие связанные с флягой модули, которые отсутствуют: flask_babel, flask_login, flask_security. Я установил все из них с помощью pip, но потом я получил сообщение об ошибке в отсутствующем модуле htmlmin.minify, который, как мне кажется, не может быть установлен.

Traceback (most recent call last): 
    File "../pgAdmin4.py", line 24, in <module> 
     from pgadmin import create_app 
    File "/opt/PostgreSQL/9.6/pgAdmin4/web/pgadmin/__init__.py", line 23, in <module> 
     from htmlmin.minify import html_minify 
ImportError: No module named htmlmin.minify 

Я также экспортируется PYTHONPATH к одному на колбу, как описано here, по-прежнему получать ту же ошибку.

Итак, у кого есть идея, как заставить pgAdmin4 работать на ubuntu environemt?

+0

Вы установили virtualenv? Вы пытаетесь сделать все изнутри virtualenv? – Nurjan

+0

Я установил virtualenv, но может быть, что я фактически не запускаюсь из этого виртуального env? как я могу убедиться? –

+0

Вам нужно активировать virtualenv, запустив '. venv/bin/activate', где venv является результатом «virtualenv venv». Установленная точка, вы можете использовать команду 'source'. – Nurjan

ответ

4

Согласно https://www.pgadmin.org/download/pip4.php.

Установите virtualenv командой:

sudo apt-get install virtualenv 

Кроме того, необходимо установить эти 2 библиотеки:

sudo apt-get install libpq-dev python-dev 

Тогда:

cd ~/bin/ 
virtualenv pgadmin4 

Я предпочитаю использовать каталог ~/bin/ для установка приложений.

Затем вы загружаете pgadmin4-1.1-py2-none-any.whl или pgadmin4-1.1-py3-none-any.whl в зависимости от используемой версии python. В этом примере мы используем python 2.7.

Вы скачиваете pgadmin4:

wget https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.1/pip/pgadmin4-1.1-py2-none-any.whl 

Активируйте virtualenv:

. ~/bin/pgadmin4/bin/activate 

После этого вы увидите (pgadmin4) в терминале.

Внутри pgadmin4 бега:

pip install ./pgadmin4-1.1-py2-none-any.whl 

После того, что вы должны быть в состоянии запустить pgadmin4:

python ~/bin/pgadmin4/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py 

Для того, чтобы сделать процесс бега немного легче вы можете создать псевдоним. Например, в Ubuntu 16.04 LTS, добавить псевдоним в файле ~/.bash_aliases:

alias pgadmin4='. /home/your_username/bin/pgadmin4/bin/activate; /home/your_username/bin/pgadmin4/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py' 

Где your_username следует заменить свое реальное имя пользователя.

Затем дать разрешение на выполнение, например, 764 на pgAdmin4.py файл в:

/home/your_username/bin/pgadmin4/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py 

Кроме того, необходимо отредактировать файл pgAdmin4.py и добавьте эту строку в самый верх:

#!/home/your_username/bin/pgadmin4/bin/python 

где your_username - ваше настоящее имя пользователя.

Это обеспечит запуск приложения с использованием требуемой версии python и включает все необходимые зависимости для запуска pgadmin4.

Затем введите . ~/.bashrc, чтобы применить изменения.

Теперь вы можете открыть терминал и просто ввести pgadmin4, чтобы запустить его.

Откройте браузер и выберите пункт:

http://127.0.0.1:5050 

еще одна вещь, чтобы отметить - если вам нужно запустить pgadmin4 в режиме рабочего стола, необходимо изменить SERVER_MODE Ложь в:

/home/your_username/bin/pgadmin4/lib/python2.7/site-packages/pgadmin4/config.py 

В противном случае при посещении localhost: 5050 он попросит вас ввести логин и пароль.

Надеюсь, это поможет.

+0

Так что создание каталога с виртуальным сервером, который вы используете, а затем запускать его имеет смысл. Кажется странным, что вам нужно указать расположение файла в пакетах сайта python 2.7 для запуска приложения. Не кажется ли это немного запутанным? Это действительно намеченный рабочий процесс, который нужно соблюдать каждый раз, когда они хотят запустить PgAdmin4? – kuanb

+1

@kuanb, согласно официальному сайту https://www.pgadmin.org/download/pip4.php, вам нужно использовать этот путь в пакетах сайта python 2.7 'для запуска pgadmin4. В качестве обходного пути я сделал псевдоним, где я активирую virtualenv, а затем запускаю pgadmin4, и он работает хорошо. Я отредактирую ответ, чтобы показать, как он работает. – Nurjan

+0

@ Нуржан Я думаю, что вам не хватает «python», прежде чем вызывать файл pgadmin4.py в вашем определении псевдонима. – newdimension

1

Пожалуйста, попробуйте выполнить следующие команды:

sudo apt-get install pgadmin4 

sudo python3.5 /usr/share/pgadmin4/web/pgAdmin4.py 
+0

, а затем вы должны установить каждое расширение фляжки на свою установку python 3.5 – Abdelouahab

Смежные вопросы