如何在Ubuntu上安装pgadmin4

时间:2020-03-21 13:05:44

标签: python python-3.x postgresql ubuntu pgadmin-4

我正在尝试在ubuntu vps服务器上安装pgadmin4,但无法安装。我收到此错误

postgres版本12.2 ubuntu版本18.04

无法找出此错误,请尝试一切尝试但未成功

Setting up pgadmin4-apache2 (4.18-1.pgdg18.04+1) ...
apache2_invoke pgadmin4: already enabled
Traceback (most recent call last):
  File "setup.py", line 413, in <module>
    setup_db()
  File "setup.py", line 347, in setup_db
    app = create_app()
  File "/usr/share/pgadmin4/web/pgadmin/__init__.py", line 400, in create_app
    driver.init_app(app)
  File "/usr/share/pgadmin4/web/pgadmin/utils/driver/__init__.py", line 40, in init_app
    DriverRegistry.load_drivers()
  File "/usr/share/pgadmin4/web/pgadmin/utils/driver/registry.py", line 88, in load_drivers
    module = import_module(module_name)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/share/pgadmin4/web/pgadmin/utils/driver/psycopg2/__init__.py", line 28, in <module>
    from .server_manager import ServerManager
  File "/usr/share/pgadmin4/web/pgadmin/utils/driver/psycopg2/server_manager.py", line 30, in <module>
    from sshtunnel import SSHTunnelForwarder, BaseSSHTunnelForwarderError
  File "/usr/lib/python3/dist-packages/sshtunnel.py", line 25, in <module>
    import paramiko
  File "/usr/lib/python3/dist-packages/paramiko/__init__.py", line 30, in <module>
    from paramiko.transport import SecurityOptions, Transport
  File "/usr/lib/python3/dist-packages/paramiko/transport.py", line 66, in <module>
    from paramiko.sftp_client import SFTPClient
  File "/usr/lib/python3/dist-packages/paramiko/sftp_client.py", line 41, in <module>
    from paramiko.sftp_file import SFTPFile
  File "/usr/lib/python3/dist-packages/paramiko/sftp_file.py", line 66
    self._close(async=True)
                    ^
SyntaxError: invalid syntax
dpkg: error processing package pgadmin4-apache2 (--configure):
 installed pgadmin4-apache2 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 pgadmin4-apache2
E: Sub-process /usr/bin/dpkg returned an error code (1)

2 个答案:

答案 0 :(得分:1)

对我来说,解决方案是显式安装软件包python3-paramiko:

apt-get install python3-paramiko

结果:

Preparing to unpack .../python3-paramiko_2.6.0-2_all.deb ...
Unpacking python3-paramiko (2.6.0-2) over (2.0.0-1ubuntu1.2) ...
Setting up python3-bcrypt (3.1.7-2ubuntu1) ...
Setting up python3-cryptography (2.8-3ubuntu0.1) ...
Setting up pgadmin4-apache2 (4.25-1.pgdg20.04+1) ...
pgAdmin 4 - Application Initialisation
======================================

Setting up python3-nacl (1.3.0-5) ...
Setting up python3-paramiko (2.6.0-2) ...

在版本从18.04升级到20.04的过程中发生。错误回溯是相同的。

答案 1 :(得分:0)

来自 pgadmin 网站:

设置仓库

为存储库安装公钥(如果之前没有安装过):

sudo curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key add

创建存储库配置文件:

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 update'

安装 pgAdmin

为桌面和网络模式安装:

sudo apt install pgadmin4

仅针对桌面模式安装:

sudo apt install pgadmin4-desktop

仅针对 Web 模式安装:

sudo apt install pgadmin4-web 

配置网络服务器,如果你安装了 pgadmin4-web:

sudo /usr/pgadmin4/bin/setup-web.sh