web-dev-qa-db-fra.com

OSError: [Errno 13] Autorisation refusée: '/ var/lib/pgadmin'

Ubuntu 16.04.3

J'aimerais installer pgAdmin:

J'ai créé un virtualenv avec Python 2.

Ensuite, installez pgAdmin 4 v2.0:

pip install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.0/pip/pgadmin4-2.0-py2.py3-none-any.whl

Il est temps de lancer 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'

Pourriez-vous me donner un coup de pied ici?

5
Michael

Erreur de permission signifie que l'utilisateur 'michael' (/ var/lib a drwxr-xr-x) a l'autorisation d'exécution mais n'a pas l'autorisation d'écrire sur le dossier (en fonction de votre commentaire sur les informations de dossier ci-dessous) Une des solutions que vous pouvez utiliser pour pouvoir accéder librement au dossier serait quelque chose comme:

chown -R michael:root /path/to/the/directory

La deuxième partie de la réponse, vous l'avez compris @Michael. télécharger pgadmin en utilisant la commande:

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

puis exécutez la commande:

pip install pgadmin4*.whl.
0
abr

Si vous ne voulez changer aucune permission, vous pouvez toujours écraser les chemins par défaut dans pgAdmin4.

Créez un fichier nommé config_local.py (s'il n'est pas déjà présent) sur votre emplacement d'installation ../pgadmin4/web/

Emplacement du fichier dans mon cas: /usr/local/lib/python2.7/dist-packages/pgadmin4/config_local.py

et ajoutez le code suivant dans votre config_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')

Redémarrez pgAdmin4 et vérifiez.

21
n33rma

créez les dossiers manuellement (ou ajoutez-les à votre script d'installation pgAdmin, le cas échéant) et attribuez les autorisations:

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

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

cela n'affecterait pas d'autorisations à la totalité du /var/log, mais uniquement au /var/log/pgadmin uniquement. 

0
mehmet

J'ai installé pgadmin4 v2.1 sur Ubuntu 16.04 et j'ai eu ce problème. Voir la dernière ligne de code. (J'exécute ceci dans un fichier de script, paresseux.) J'ai également installé la version 2.0 de cette façon à titre de test pour voir si c'est vraiment un correctif. Je n'ai pas eu à utiliser config_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
0
Preston

J'ai eu le même problème avec pgAdmin4 v3.1, je viens d'écrire Sudo python pgAdmin4.py et cela a fonctionné !.

0
Mile