Ipython: Informationen zum Umgang mit "sqlite3.OperationalError: Versuch, eine schreibgeschützte Datenbank zu schreiben" in der Ausnahmemeldung bereitzustellen

Erstellt am 1. Jan. 2014  ·  4Kommentare  ·  Quelle: ipython/ipython

Ich erlebe einen sqlite3.OperationalError: Versuch, eine schreibgeschützte Datenbank zu schreiben
(Stack-Trace beigefügt). Da dies ein Fehler im Zusammenhang mit einer Datenbankverbindung zu sein scheint, könnte die Fehlermeldung präziser sein (was meine Verbesserungsanfrage ist) und die fehlgeschlagenen Verbindungsparameter (zumindest Host und Port) angeben. Es ist nicht klar, was das Programm erwartet.

Stapelverfolgung

Fehler in sys.Exceptionhook:
Traceback (letzter Anruf zuletzt):
Datei "/mnt/DATA/sources/ipython/IPython/core/application.py", Zeile 175, in Außerhook
return self.crash_handler(etype, evalue, tb)
Datei "/mnt/DATA/sources/ipython/IPython/core/crashhandler.py", Zeile 158, im Aufruf
traceback = TBhandler.text(etype,evalue,etb,context=31)
Datei "/mnt/DATA/sources/ipython/IPython/core/ultratb.py", Zeile 412, im Text
tb_offset, Kontext)
Datei "/mnt/DATA/sources/ipython/IPython/core/ultratb.py", Zeile 963, in Structured_traceback
ipinst = ipapi.get()
Datei "/mnt/DATA/sources/ipython/IPython/core/ipapi.py", Zeile 28, in get
return InteractiveShell.instance()
Datei "/mnt/DATA/sources/ipython/IPython/config/configurable.py", Zeile 318, in Instanz
inst = cls(_args, _kwargs)Datei "/mnt/DATA/sources/ipython/IPython/core/interactiveshell.py", Zeile 436, in initself.init_history()Datei "/mnt/DATA/sources/ipython/IPython/core/interactiveshell.py", Zeile 1489, in init_historyself.history_manager = HistoryManager(shell=self, config=self.config)Datei "/mnt/DATA/sources/ipython/IPython/core/history.py", Zeile 409, in initself.new_session()Datei "", Zeile 2, in new_sessionDatei "/mnt/DATA/sources/ipython/IPython/core/history.py", Zeile 60, in needs_sqlitezurück f(_a,_ Kilowatt)
Datei "/mnt/DATA/sources/ipython/IPython/core/history.py", Zeile 427, in new_session
NULL, "") """, (datetime.datetime.now(),))
sqlite3.OperationalError: Versuch, eine schreibgeschützte Datenbank zu schreiben

Ursprüngliche Ausnahme war:
Traceback (letzter Anruf zuletzt):
Datei "/usr/bin/ipython", Zeile 7, in
launch_new_instance()
Datei "/mnt/DATA/sources/ipython/IPython/frontend/terminal/ipapp.py", Zeile 388, in launch_new_instance
app.initialize()
Datei "", Zeile 2, in initialize
Datei "/mnt/DATA/sources/ipython/IPython/config/application.py", Zeile 84, in catch_config_error
Rückgabemethode (app, _args, _kwargs)Datei "/mnt/DATA/sources/ipython/IPython/frontend/terminal/ipapp.py", Zeile 324, in initializeself.init_shell()Datei "/mnt/DATA/sources/ipython/IPython/frontend/terminal/ipapp.py", Zeile 340, in init_shellipython_dir=self.ipython_dir)Datei "/mnt/DATA/sources/ipython/IPython/config/configurable.py", Zeile 318, in Instanzinst = cls(_args, *_kwargs)Datei "/mnt/DATA/sources/ipython/IPython/frontend/terminal/interactiveshell.py", Zeile 360, in inituser_module=user_module, custom_exceptions=custom_ExceptionsDatei "/mnt/DATA/sources/ipython/IPython/core/interactiveshell.py", Zeile 436, in initself.init_history()Datei "/mnt/DATA/sources/ipython/IPython/core/interactiveshell.py", Zeile 1489, in init_historyself.history_manager = HistoryManager(shell=self, config=self.config)Datei "/mnt/DATA/sources/ipython/IPython/core/history.py", Zeile 409, in initself.new_session()Datei "", Zeile 2, in new_sessionDatei "/mnt/DATA/sources/ipython/IPython/core/history.py", Zeile 60, in needs_sqlitezurück f(_a,_ Kilowatt)
Datei "/mnt/DATA/sources/ipython/IPython/core/history.py", Zeile 427, in new_session
NULL, "") """, (datetime.datetime.now(),))
sqlite3.OperationalError: Versuch, eine schreibgeschützte Datenbank zu schreiben

Ausgabe von python -c "IPython importieren; print(IPython.sys_info())":

{'commit_hash': '858d539',
'commit_source': 'Installation',
'default_encoding': 'UTF-8',
'ipython_path': '/usr/local/lib/python2.7/dist-packages/IPython',
'ipython_version': '0.13.2',
'os_name': 'posix',
'Plattform': 'Linux-3.11.0-14-generic-x86_64-with-Ubuntu-13.10-saucy',
'sys_executable': '/usr/bin/python',
'sys_platform': 'linux2',
'sys_version': '2.7.5+ (Standard, 19. September 2013, 13:48:49) n[GCC 4.8.1]'}

Es wäre schön, eine Möglichkeit zu haben, Dateien an den Ausgabebericht anzuhängen und die bereits zugesagten Ausgaben (!!) durchsuchen zu können.

Hilfreichster Kommentar

Ich habe das probiert und es hat funktioniert. Danke @takluyver , @richtekp.

~/.ipython/profile_default/history.sqlite
/Users/ChessTastic/.ipython/profile_default/history.sqlite.
➜  profile_default  sudo chmod a+w history.sqlite
Password:

Alle 4 Kommentare

sqlite verwendet eine Datei, keinen Datenbankserver. Standardmäßig wird in ~/.ipython/profile_default/history.sqlite . Existiert diese Datei und ist sie beschreibbar?

Danke für den Tipp! Die Datei hatte die falschen Berechtigungen (nicht beschreibbar). Ich schlage vor, die Fehlermeldung/Ausgabe zu verbessern.

Es wäre schön eine Möglichkeit zu haben, Dateien an den Problembericht anzuhängen

Es ist üblich, Kernpunkte zu verwenden.

und die bereits zugesagten Ausgaben (!!) durchsuchen zu können.

Das Suchfeld befindet sich oben auf der Seite.

Ich habe das probiert und es hat funktioniert. Danke @takluyver , @richtekp.

~/.ipython/profile_default/history.sqlite
/Users/ChessTastic/.ipython/profile_default/history.sqlite.
➜  profile_default  sudo chmod a+w history.sqlite
Password:
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen