Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/421.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
Pgadmin 4 OSError:[Errno 13]权限被拒绝:'/var/lib/pgadmin';_Pgadmin 4 - Fatal编程技术网

Pgadmin 4 OSError:[Errno 13]权限被拒绝:'/var/lib/pgadmin';

Pgadmin 4 OSError:[Errno 13]权限被拒绝:'/var/lib/pgadmin';,pgadmin-4,Pgadmin 4,Ubuntu 16.04.3 我想安装pgAdmin: 我用Python2创建了一个virtualenv 然后安装pgAdmin 4 v2.0: pip install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.0/pip/pgadmin4-2.0-py2.py3-none-any.whl 是时候运行pgAdmin了: (pgadmin4) michael@michael-desktop:~/PycharmProjects/venv$

Ubuntu 16.04.3

我想安装pgAdmin:

我用Python2创建了一个virtualenv

然后安装pgAdmin 4 v2.0:

pip install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.0/pip/pgadmin4-2.0-py2.py3-none-any.whl
是时候运行pgAdmin了:

(pgadmin4) michael@michael-desktop:~/PycharmProjects/venv$ python pgadmin4/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py
Traceback (most recent call last):
  File "pgadmin4/lib/python2.7/site-packages/pgadmin4/pgAdmin4.py", line 55, in <module>
    exec(open(file_quote(setupfile), 'r').read())
  File "<string>", line 46, in <module>
  File "/home/michael/PycharmProjects/venv/pgadmin4/lib/python2.7/site-packages/pgadmin4/pgadmin/setup/data_directory.py", line 23, in create_app_data_directory
    _create_directory_if_not_exists(os.path.dirname(config.SQLITE_PATH))
  File "/home/michael/PycharmProjects/venv/pgadmin4/lib/python2.7/site-packages/pgadmin4/pgadmin/setup/data_directory.py", line 15, in _create_directory_if_not_exists
    os.mkdir(_path)
OSError: [Errno 13] Permission denied: '/var/lib/pgadmin'
(pgadmin4)michael@michael-桌面:~/PycharmProjects/venv$python pgadmin4/lib/python2.7/site-packages/pgadmin4/pgadmin4.py
回溯(最近一次呼叫最后一次):
文件“pgadmin4/lib/python2.7/site packages/pgadmin4/pgadmin4.py”,第55行,在
exec(open(file_quote(setupfile),'r').read())
文件“”,第46行,在
文件“/home/michael/PycharmProjects/venv/pgadmin4/lib/python2.7/site packages/pgadmin4/pgadmin/setup/data_directory.py”,第23行,位于create_app_data_目录中
_如果不存在,则创建目录(os.path.dirname(config.SQLITE\u path))
文件“/home/michael/PycharmProjects/venv/pgadmin4/lib/python2.7/site packages/pgadmin4/pgadmin/setup/data\u directory.py”,第15行,如果不存在,则在创建目录中
os.mkdir(_路径)
OSError:[Errno 13]权限被拒绝:'/var/lib/pgadmin'

你能在这里踢我一脚吗?

权限错误意味着用户“michael”(/var/lib有drwxr-xr-x)有执行权限,但没有写入文件夹的权限(根据你对下面文件夹信息的评论)。 您可以使用以下解决方案之一自由访问文件夹:

chown -R michael:root /path/to/the/directory
答案的第二部分,你已经明白了@Michael。 使用以下命令下载pgadmin:

wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v1.5/pip/pgadmin4-1.5-py2.py3-none-any.whl 
pip install pgadmin4*.whl.
然后执行以下命令:

wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v1.5/pip/pgadmin4-1.5-py2.py3-none-any.whl 
pip install pgadmin4*.whl.

如果不想更改任何内容的权限,则始终可以覆盖pgAdmin4中的默认路径

在您的安装位置创建一个名为config_local.py的文件(如果尚未存在)。
。/pgadmin4/web/

在我的情况下,文件位置: /usr/local/lib/python2.7/dist-packages/pgadmin4/config_local.py

并在您的
配置_local.py
中添加以下代码

import os
DATA_DIR = os.path.realpath(os.path.expanduser(u'~/.pgadmin/'))
LOG_FILE = os.path.join(DATA_DIR, 'pgadmin4.log')
SQLITE_PATH = os.path.join(DATA_DIR, 'pgadmin4.db')
SESSION_DB_PATH = os.path.join(DATA_DIR, 'sessions') 
STORAGE_DIR = os.path.join(DATA_DIR, 'storage')

重新启动pgAdmin4并检查。

手动创建文件夹(或添加到pgAdmin安装脚本,如果有),并分配权限:

sudo mkdir "/var/log/pgadmin"
sudo chmod a+wrx "/var/log/pgadmin"

sudo mkdir "/var/lib/pgadmin"
sudo chmod a+wrx "/var/lib/pgadmin"

这不会将权限分配给整个
/var/log
,而只分配给
/var/log/pgadmin

我在Ubuntu 16.04上安装了pgadmin4 v2.1,出现了这个问题。请参阅最后一行代码。(我在一个脚本文件中运行它,lazy。)我还以这种方式安装了2.0作为测试,以查看它是否真的是一个修复程序。我不必使用
config\u local.py

cd ..
cd home/vagrant

sudo apt-get install build-essential libssl-dev libffi-dev libgmp3-dev virtualenv python-pip libpq-dev python-dev

virtualenv .pgadmin4
cd .pgadmin4
source bin/activate

wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.1/pip/pgadmin4-2.1-py2.py3-none-any.whl

pip install pgadmin4-2.1-py2.py3-none-any.whl

# For this either use your remote host panel to edit the file or:
nano lib/python2.7/site-packages/pgadmin4/config.py
# Change:
# DEFAULT_SERVER = '0.0.0.0'

# Here is the trick.  Run this boot up file with sudo.  This fixed it for me.
sudo python lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

我在pgadmin4v3.1中也遇到了同样的问题,我只编写了
sudopython pgAdmin4.py
,它就成功了

通过几个步骤解决了问题 1.在主机vm上创建空文件夹

  • 启动pgadmin docker映像
  • 您将看到新创建的文件结构如下
  • 因此UID5050是我们的目标之一 4.将pgadmin4.db复制到目标目录中,并应用正确的UID[5050在我的例子中]


    因此,应用程序将正常工作,用户设置将被保存。

    /var/lib具有drwxr-xr-x根。我为什么要改变它?如果我没有改变,不是吗?执行命令的用户是谁?另外,写下“组”,看看您是否有权限访问您正在执行操作的文件夹,因为它是普通用户。没有权限。该用户属于sudo组。但我似乎遵循pgAdmin的安装手册。这里没有权限的问题。只需运行python命令。我是唯一一个面对这个问题的人吗?你在判决前试过写sudo吗?该文件夹具有根用户、根组的权限。“michael”在根组中吗?您只需chown-R michael:root/path/to/the/directory并再次运行该命令。sudo python pgadmin4/lib/python2.7/site-packages/pgadmin4/pgadmin4.py?但这有什么意义吗?我试过了。ImportError:没有一个名为flask的模块立即出现。对我有用。谢谢今天安装了我的,我的系统上没有config_local.py。你必须创建它,它是用户定义的配置文件。参考。升级后,您可能会不时遇到此错误,因为路径列表可以从一个版本更新到另一个版本(我今天遇到了这种情况)。要查看哪些路径需要更新,您可以查看
    pgadmin4/pgadmin/setup/data_directory.py
    文件。尝试从pgadmin4-1.6进行升级,该文件在我的Ubuntu 16.04上运行到pgadmin4-2.0,但不起作用。OSError:[Errno 13]权限被拒绝:'/var/lib/pgadmin'该文件夹在任何地方都不存在。这可以通过覆盖默认路径轻松解决,您可以参考下面的答案。完全不同的方法是从Docker运行pgadmin。在另一个帖子中找到了这个。mkdir~/.pgadmin4#要存储配置并填充docker run-d--rm--network host-v~/.pgadmin4:/pgadmin thajeztah/pgadmin4,然后转到,您就完成了它。有关更多信息,请参阅。never chmod 777[Errno 2]没有此类文件或目录
         ...
    
    /private/var/lib/pgadmin
    
    -rw-------.  1 5050 5050 757760 Jan 13 23:11 pgadmin4.db
    drwx------.  2 5050 5050     50 Jan 13 23:00 sessions
    drwxr-xr-x.  3 5050 5050     31 Jan 13 23:17 storage