Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试运行pgAdmin4时出错_Python_Postgresql_Flask_Postgresql 9.4_Pgadmin 4 - Fatal编程技术网

Python 尝试运行pgAdmin4时出错

Python 尝试运行pgAdmin4时出错,python,postgresql,flask,postgresql-9.4,pgadmin-4,Python,Postgresql,Flask,Postgresql 9.4,Pgadmin 4,我已经安装了pgAdmin4附带的postgresql 9.6(使用建议的linux安装程序),但出现了一些错误 首先,我必须将文件夹名称从“pgAdmin 4”(注意额外的空间)更改为“pgAdmin 4”,以避免“文件未找到错误” 然后我运行sudo python pgAdmin4.py,得到以下错误: Traceback (most recent call last): File "../../pgAdmin4.py", line 24, in <module>

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

首先,我必须将文件夹名称从“pgAdmin 4”(注意额外的空间)更改为“pgAdmin 4”,以避免“文件未找到错误”

然后我运行
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
我还将PYTHONPATH导出到烧瓶上的那个,如上所述,仍然得到相同的错误

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

根据

通过运行以下命令安装virtualenv:

sudo apt-get install virtualenv
您还需要安装以下两个库:

sudo apt-get install libpq-dev python-dev 
然后:

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

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

您可以下载pgadmin4:

wget https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.1/pip/pgadmin4-1.1-py2-none-any.whl
python ~/bin/pgadmin4/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py 
激活virtualenv:

. ~/bin/pgadmin4/bin/activate
之后,您将在终端中看到
(pgadmin4)

在pgadmin4运行的内部:

pip install ./pgadmin4-1.1-py2-none-any.whl
之后,您必须能够运行pgadmin4:

wget https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.1/pip/pgadmin4-1.1-py2-none-any.whl
python ~/bin/pgadmin4/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py 
为了使运行过程更容易一些,您可以创建一个别名。例如,在Ubuntu 16.04 LTS中,在
~/.bash\u别名
文件中添加别名:

alias pgadmin4='. /home/your_username/bin/pgadmin4/bin/activate; /home/your_username/bin/pgadmin4/lib/python2.7/site-packages/pgadmin4/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
其中
您的_username
是您的真实用户名

这将确保您使用所需的python版本运行应用程序,并包括运行
pgadmin4
所需的所有依赖项

然后运行
~/。bashrc
以应用更改

因此,现在您可以打开终端,只需键入
pgadmin4
即可运行它

打开浏览器并指向:

http://127.0.0.1:5050
还有一件事需要注意-如果您需要在桌面模式下运行
pgadmin4
,则需要将
SERVER\u模式
更改为False:

/home/your_username/bin/pgadmin4/lib/python2.7/site-packages/pgadmin4/config.py
否则,当您访问localhost:5050时,它将询问您的登录名和密码

UDPATE:

到2021年(以及更早),一个更好的选择是使用预配置的docker容器,其中包含pgadmin4。例如,pgadmin4 docker映像可以从


希望这有帮助。

请尝试以下命令:

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
然后去,你就完成了


有关详细信息,请参阅。

如果您使用Windows,请尝试删除debian上的文件夹:
%APPDATA%\pgAdmin
,至少web版本不取决于
sudo apt install pgadmin4 web
。知道它可能是你需要富客户端,但是你可以把它看作是一个备选方案

下面的链接错误404:没有找到。
wget https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.1/pip/pgadmin4-1.1-py2-none-any.whl
使用备用链接

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


你安装了virtualenv吗?你想从virtualenv内部完成所有工作吗?我安装了virtualenv,但可能是我实际上没有从该虚拟环境中运行?如何确定?您需要通过运行
来激活virtualenv。venv/bin/activate
其中,venv是虚拟venv的结果。除了点,您可以使用命令
source
。是的,我运行环境,这导致终端显示以环境名称(flask)开头的提示。尽管如此,还是出现了一个错误。我怀疑pip安装没有在virtualenv上完成。当我运行pip install flask时,我在权限方面遇到了一个错误,所以我使用sudo运行它,但我认为sudo会导致它安装在virtualenv之外。因此,使用您使用的virtualenv创建一个目录,然后启动它是有意义的。奇怪的是,然后需要指向python 2.7站点包中的文件位置来启动应用程序。这不是有点复杂吗?这真的是每次启动PgAdmin4时必须遵循的预期工作流程吗?@kuanb,根据官方网站,为了运行PgAdmin4,您需要在python 2.7的网站包中使用该路径。作为一种解决方法,我制作了一个别名,在其中激活virtualenv,然后运行pgadmin4,它工作得很好。我将编辑答案以显示其工作原理。@Nurzhan我认为在别名定义中调用pgadmin4.py文件之前,您缺少了“python”。@newdimension否,在调用
pgadmin4.py
之前,您不需要
python
pgadmin4.py
本身就是一个可执行文件。此行有一个错误<代码>wgethttps://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.1/pip/pgadmin4-1.1-py2-none-any.whl不需要pgadmin3文件夹。正确的url应该是,
https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v1.1/pip/pgadmin4-1.1-py2-none-any.whl
然后您必须将每个flask扩展安装到python 3.5安装中
sudo apt get install pgadmin4
在发布此评论之日不再工作。它给出了一个错误:包“pgadmin4”没有安装候选项这是迄今为止最简单的解决方案。我现在让Docker和pgAdmin4在Chromebook上运行。有关Chromebook Docker安装的详细信息,请按照以下步骤操作:在Chromebook curl上安装Docker-fsSL | sudo apt key add-sudo apt get安装apt transport https ca certificates curl gnupg2软件属性common sudo add apt repository“deb[arch=amd64]$(lsb_release-cs)stable”sudo apt更新sudo apt install docker ce sudo usermod-a-G docker$USER
pip install pgadmin4-1.4-py2.py3-none-any.whl -U psycopg2