尝试 运行 pgAdmin4 时出错

Error trying to run pgAdmin4

我已经安装了 pgAdmin4 附带的 postgresql 9.6(使用建议的 linux 安装程序),但出现了一些错误。

首先,我必须将文件夹名称从 "pgAdmin 4"(注意多余的 space)更改为 "pgAdmin4" 以避免 "file not found error".

然后我 运行 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

我尝试关注这个相关问题: -- 设法在 virtualenv 上安装 flask。

但后来我开始获取其他缺少的 flask 相关模块: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 导出到 flask 上,如所述here,仍然出现同样的错误。

那么,有人知道如何让 pgAdmin4 在 ubuntu 环境中工作吗?

根据https://www.pgadmin.org/download/pip4.php.

通过 运行ning 安装 virtualenv:

sudo apt-get install virtualenv

您还需要安装这两个库:

sudo apt-get install libpq-dev python-dev 

然后:

cd ~/bin/
virtualenv pgadmin4

我更喜欢使用 ~/bin/ 目录来安装应用程序。

然后根据您使用的 python 版本下载 pgadmin4-1.1-py2-none-any.whlpgadmin4-1.1-py3-none-any.whl。对于这个例子,我们使用 python 2.7.

你下载pgadmin4:

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

激活虚拟环境:

. ~/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 

为了使 运行ning 过程更容易一些,您可以创建一个别名。例如,在 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 应替换为您的真实用户名。

然后给pgAdmin4.py中的pgAdmin4.py文件赋予执行权限,例如764

/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 更改为 False in:

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

否则,当您访问 localhost:5050 时,它会询问您的登录名和密码。

更新:

从 2021 年开始(甚至更早),一个更好的选择是使用预配置的 docker 容器和 pgadmin4。例如,可以从以下位置下载 pgadmin4 docker 图像 https://hub.docker.com/r/dpage/pgadmin4/.

希望对您有所帮助。

请尝试以下命令:

sudo apt-get install pgadmin4

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

按照有关将 PgAdmin 4 添加到我的 Fedora 28 的文档以各种可能的方式失败后,我选择了 Docker 选项:

mkdir ~/.pgadmin4  # to store config and stuff
docker run -d --rm --network host -v ~/.pgadmin4:/pgadmin thajeztah/pgadmin4

然后转到http://localhost:5050,你就完成了。

有关详细信息,请参阅 https://github.com/thaJeztah/pgadmin4-docker

如果使用Windows,尝试删除文件夹:%APPDATA%\pgAdmin

在 debian 上,至少 web 版本 不依赖于 sudo apt install pgadmin4-web。知道它可能是您需要富客户端,但您可以将其视为替代方案

以下 link - 错误 404:未找到。

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

使用备用 link

wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v1.4/pip/pgadmin4-1.4-py2.py3-none-any.whl

还有运行reference

pip install pgadmin4-1.4-py2.py3-none-any.whl -U psycopg2