2016-12-21 10 views
7

Ich habe postgresql 9.6 installiert (mit dem vorgeschlagenen Linux-Installer), die mit pgAdmin4 kommt, aber ein paar Fehler bekommen.Fehler beim Ausführen von pgAdmin4

Zuerst musste ich den Ordnernamen von "pgAdmin 4" (beachten Sie das zusätzliche Leerzeichen) zu "pgAdmin4" ändern, um "Datei nicht gefunden Fehler" zu vermeiden.

Dann laufe ich sudo python pgAdmin4.py und bekam folgende Fehlermeldung:

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 

ich im Anschluss an diese Frage im Zusammenhang versucht: Flask ImportError: No Module Named Flask - installiert Kolben auf virtualenv verwaltet.

Aber dann fing ich an andere flaschenbezogene Module zu bekommen, die fehlen: flask_babel, flask_login, flask_sicherheit. Ich habe alle von ihnen installiert mit Pip, aber dann habe ich einen Fehler auf fehlende Modul htmlmin.minify, die ich nicht in der Lage zu installieren scheint.

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 

ich auch PYTHONPATH dem auf Kolben exportiert, wie here beschrieben, immer noch die gleichen Fehler.

Also, hat jemand eine Idee, wie pgAdmin4 auf ubuntu environem arbeiten?

+0

Sie virtualenv installiert? Versuchst du alles innerhalb des virtualenv zu machen? – Nurjan

+0

Ich habe virtualenv installiert, aber es könnte sein, dass ich nicht wirklich in diesem virtuellen env laufe? Wie stelle ich sicher? –

+0

Sie müssen den virtualenv aktivieren, indem Sie 'ausführen. venv/bin/activate', wobei venv das Ergebnis von 'virtualenv venv' ist. Eingestellter Punkt, Sie können den Befehl 'source' verwenden. – Nurjan

Antwort

4

Nach https://www.pgadmin.org/download/pip4.php.

die virtualenv installieren, indem Sie:

sudo apt-get install virtualenv 

Sie müssen auch diese 2-Bibliotheken installieren:

sudo apt-get install libpq-dev python-dev 

Dann:

cd ~/bin/ 
virtualenv pgadmin4 

ich das ~/bin/ Verzeichnis verwenden möchten für Installieren von Anwendungen.

Dann laden Sie die pgadmin4-1.1-py2-none-any.whl oder pgadmin4-1.1-py3-none-any.whl abhängig von der Python-Version, die Sie verwenden. Für dieses Beispiel verwenden wir Python 2.7.

Sie herunterladen pgadmin4:

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

aktivieren virtualenv:

. ~/bin/pgadmin4/bin/activate 

Danach Sie (pgadmin4) im Terminal sehen.

Innerhalb von pgadmin4 Lauf:

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

Danach Sie müssen in der Lage sein pgadmin4 auszuführen:

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

Um den laufenden Prozess ein bisschen leichter machen Sie einen Alias ​​erstellen können. Zum Beispiel in Ubuntu 16.04 LTS, fügen Sie Alias ​​in der ~/.bash_aliases Datei:

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

Wo your_username sollte von Ihrem realen Benutzernamen ersetzt werden.

gibt dann die Erlaubnis ausführen, zum Beispiel 764 zur pgAdmin4.py Datei in:

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

Auch müssen Sie die pgAdmin4.py Datei bearbeiten und diese Zeile in der hinzufügen ganz oben:

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

wo your_username ist Ihr richtiger Benutzername.

Dies wird sicherstellen, dass Sie die Anwendung mit der erforderlichen Version von Python ausführen und alle erforderlichen Abhängigkeiten enthalten, um pgadmin4 auszuführen.

laufen Dann . ~/.bashrc, um die Änderungen zu übernehmen.

So, jetzt können Sie Ihren Terminal öffnen und einfach pgadmin4 um geben, um sie auszuführen.

Öffnen Sie Ihren Browser und verweisen auf:

http://127.0.0.1:5050 

Eine weitere Sache beachten - wenn Sie pgadmin4 im Desktop-Modus ausführen müssen Sie SERVER_MODE auf False in ändern müssen:

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

Andernfalls Wenn Sie localhost: 5050 besuchen, werden Sie nach Ihrem Login und Passwort gefragt.

Hoffe, das hilft.

+0

So erstellen Sie ein Verzeichnis mit einem virtualenv, das Sie verwenden und starten Sie es dann sinnvoll. Was merkwürdig erscheint, ist, dass Sie dann auf die Dateiposition in den Site-Paketen von Python 2.7 zeigen müssen, um die Anwendung zu starten. Scheint das nicht ein wenig verschachtelt? Ist das wirklich der beabsichtigte Arbeitsablauf, dem man bei jedem Start von PgAdmin4 folgen muss? – kuanb

+1

@ kuanb, Gemäß der offiziellen Website https://www.pgadmin.org/download/pip4.php müssen Sie diesen Pfad in Python 2.7 'Site-Paketen verwenden, um pgadmin4 auszuführen. Als Workaround habe ich einen Alias ​​erstellt, in dem ich den virtualenv aktiviere und dann den pgadmin4 ausführe und es funktioniert gut. Ich werde die Antwort bearbeiten, um zu zeigen, wie es funktioniert. – Nurjan

+0

@Nurzhan Ich denke, Sie fehlen "Python", bevor Sie die Datei pgadmin4.py in Ihrer Alias-Definition aufrufen. – newdimension

1

Bitte, versuchen Sie diese Befehle:

sudo apt-get install pgadmin4 

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

und dann müssen Sie jede Kolben Erweiterung zu Ihrer Python 3.5 Installation installieren – Abdelouahab