Je rencontre un sqlite3.OperationalError : tentative d'écriture d'une base de données en lecture seule
(trace de pile jointe). Comme cela semble être une erreur liée à une connexion à une base de données, le message d'erreur pourrait être plus précis (ce qui est ma demande d'amélioration), en spécifiant les paramètres de connexion ayant échoué (au moins l'hôte et le port). On ne sait pas exactement à quoi le programme s'attend, ce qu'il pourrait être.
trace de la pile
L'exception d'origine était :
Traceback (appel le plus récent en dernier) :
Fichier "/usr/bin/ipython", ligne 7, dans
launch_new_instance()
Fichier "/mnt/DATA/sources/ipython/IPython/frontend/terminal/ipapp.py", ligne 388, dans launch_new_instance
app.initialize()
Déposer "
Fichier "/mnt/DATA/sources/ipython/IPython/config/application.py", ligne 84, dans catch_config_error
méthode de retour (app, _args, _kwargs)Fichier "/mnt/DATA/sources/ipython/IPython/frontend/terminal/ipapp.py", ligne 324, dans initializeself.init_shell()Fichier "/mnt/DATA/sources/ipython/IPython/frontend/terminal/ipapp.py", ligne 340, dans init_shellipython_dir=self.ipython_dir)Fichier "/mnt/DATA/sources/ipython/IPython/config/configurable.py", ligne 318, par exempleinst = cls(_args, *_kwargs)Fichier "/mnt/DATA/sources/ipython/IPython/frontend/terminal/interactiveshell.py", ligne 360, dans inituser_module=user_module, custom_exceptions=custom_exceptionsFichier "/mnt/DATA/sources/ipython/IPython/core/interactiveshell.py", ligne 436, dans initself.init_history()Fichier "/mnt/DATA/sources/ipython/IPython/core/interactiveshell.py", ligne 1489, dans init_historyself.history_manager = HistoryManager(shell=self, config=self.config)Fichier "/mnt/DATA/sources/ipython/IPython/core/history.py", ligne 409, dans initself.new_session()Déposer "
Fichier "/mnt/DATA/sources/ipython/IPython/core/history.py", ligne 427, dans new_session
NULL, "") """, (datetime.datetime.now(),))
sqlite3.OperationalError : tentative d'écriture d'une base de données en lecture seule
sortie de python -c "import IPython; print(IPython.sys_info())":
Ce serait bien d'avoir la possibilité de joindre des fichiers au rapport de problème et de pouvoir rechercher les problèmes déjà commis (!!).
sqlite utilise un fichier, pas un serveur de base de données. Par défaut, il sera enregistré en ~/.ipython/profile_default/history.sqlite
. Ce fichier existe-t-il et est-il accessible en écriture ?
Merci pour l'astuce ! Le fichier avait les mauvaises autorisations (non accessible en écriture). Je suggère d'améliorer le message d'erreur/la sortie.
Ce serait bien d'avoir la possibilité de joindre des fichiers au rapport de problème
Il est courant d'utiliser des gists .
et pouvoir rechercher les problèmes déjà engagés (!!).
Le champ de recherche est situé en haut de la page.
Je l'ai essayé et ça marche. Merci @takluyver , @richtekp.
~/.ipython/profile_default/history.sqlite
/Users/ChessTastic/.ipython/profile_default/history.sqlite.
➜ profile_default sudo chmod a+w history.sqlite
Password:
Commentaire le plus utile
Je l'ai essayé et ça marche. Merci @takluyver , @richtekp.