Pgadmin 4 OSError:[Errno 13]权限被拒绝:'/var/lib/pgadmin';
Ubuntu 16.04.3 我想安装pgAdmin: 我用Python2创建了一个virtualenv 然后安装pgAdmin 4 v2.0: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$
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上创建空文件夹
因此,应用程序将正常工作,用户设置将被保存。/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