2016-12-21 51 views
7

Zainstalowałem PostgreSQL 9.6 (przy użyciu sugerowanego instalatora Linux-a), który jest dostarczany z pgAdmin4, ale pojawia się kilka błędów.Błąd podczas próby uruchomienia pgAdmin4

Najpierw musiałem zmienić nazwę folderu z "pgAdmin 4" (zwróć uwagę na dodatkową przestrzeń) na "pgAdmin4", aby uniknąć "błędu znalezienia pliku".

Potem biegnę sudo python pgAdmin4.py i uzyskałem następujący błąd:

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 

próbowałem poniższy tym powiązane pytanie: Flask ImportError: No Module Named Flask - udało się zainstalowanym kolbie na virtualenv.

Ale wtedy zaczęły się pojawiać inne moduły związane z kolbami: flask_babel, flask_login, flask_security. Zainstalowałem je wszystkie za pomocą pip, ale potem dostałem błąd na brakującym module htmlmin.minify, którego nie mogę zainstalować.

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 

ja również eksportowane do PYTHONPATH jeden na kolbie, jak opisano here, wciąż otrzymuję ten sam błąd.

Ktoś ma pomysł, jak sprawić, aby pgAdmin4 działało na ubuntu environemt?

+0

Czy zainstalowano virtualenv? Czy próbujesz zrobić wszystko od wewnątrz virtualenv? – Nurjan

+0

Zainstalowałem virtualenv, ale może się zdarzyć, że faktycznie nie uruchamiam się z tego wirtualnego środowiska? jak się upewnić? –

+0

Musisz uaktywnić virtualenv, uruchamiając '. venv/bin/activate' gdzie venv jest wynikiem 'virtualenv venv'. Zamieniona kropka, możesz użyć polecenia 'source'. – Nurjan

Odpowiedz

4

Zgodnie z https://www.pgadmin.org/download/pip4.php.

Zainstalować virtualenv uruchamiając:

sudo apt-get install virtualenv 

Należy również zainstalować te 2 biblioteki:

sudo apt-get install libpq-dev python-dev 

Następnie:

cd ~/bin/ 
virtualenv pgadmin4 

wolę używać katalogu ~/bin/ dla instalowanie aplikacji.

Następnie należy pobrać pgadmin4-1.1-py2-none-any.whl lub pgadmin4-1.1-py3-none-any.whl w zależności od używanej wersji pythona. W tym przykładzie używamy Pythona 2.7.

pobrać pgadmin4:

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

aktywować virtualenv:

. ~/bin/pgadmin4/bin/activate 

Po tym widać (pgadmin4) w terminalu.

Wewnątrz metę pgadmin4:

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

Po, która musi być w stanie uruchomić pgadmin4:

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

W celu dokonania uruchomiony proces nieco łatwiej można utworzyć alias. Na przykład w Ubuntu 16.04 LTS, dodać alias w pliku ~/.bash_aliases:

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

Gdzie your_username należy zastąpić swoim prawdziwym nazwiskiem użytkownika.

Następnie dać prawo wykonania, na przykład, 764 do pliku w pgAdmin4.py:

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

Również trzeba edytować plik pgAdmin4.py i dodać tę linię na samej górze:

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

gdzie your_username to Twoja prawdziwa nazwa użytkownika.

Spowoduje to uruchomienie aplikacji przy użyciu wymaganej wersji Pythona i uwzględnienie wszystkich niezbędnych zależności w celu uruchomienia pgadmin4.

Następnie uruchom . ~/.bashrc, aby zastosować zmiany.

Teraz możesz otworzyć terminal i po prostu wpisz pgadmin4, aby go uruchomić.

Otwórz przeglądarkę i wskaż polecenie:

http://127.0.0.1:5050 

jeszcze jedno, aby pamiętać - jeśli trzeba uruchomić pgadmin4 w trybie stacjonarnym trzeba zmienić SERVER_MODE False w:

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

Inaczej kiedy odwiedzasz localhost: 5050 poprosi cię o login i hasło.

Mam nadzieję, że to pomoże.

+0

Tworzenie katalogu zawierającego virtualenv, którego używasz, a następnie uruchamiając, ma sens. To, co wydaje się dziwne, to że musisz wskazać lokalizację pliku w pakietach witryny Pythona 2.7, aby uruchomić aplikację. Czy to nie wydaje się być trochę zawiłe? Czy to naprawdę zamierzony przepływ pracy, za którym należy podążać za każdym razem, gdy chce uruchomić PgAdmin4? – kuanb

+1

@kuanb, Zgodnie z oficjalną stroną https://www.pgadmin.org/download/pip4.php musisz użyć tej ścieżki w pakietach witryn Pythona 2.7 ', aby uruchomić pgadmin4. Jako obejście, stworzyłem alias, w którym aktywuję virtualenv, a następnie uruchamiam pgadmin4 i działa dobrze. Będę edytować odpowiedź, aby pokazać, jak to działa. – Nurjan

+0

@Nurzhan Myślę, że brakuje "pythona" przed wywołaniem pliku pgadmin4.py w definicji aliasu. – newdimension

1

proszę spróbować następujących poleceń:

sudo apt-get install pgadmin4 

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

, a następnie musisz zainstalować każde rozszerzenie kolby do instalacji Pythona 3.5 – Abdelouahab