ACHTUNG: IPython History benötigt SQLite, Ihr Verlauf wird nicht gespeichert

7

Hi Ich benutze Ubuntu Release 12.10 (quantal) 32-bit mit Linux Kernel 3.5.0-21-generic. Ich versuche IPythons Geschichte zu arbeiten. Ich habe es mit Pythonbrew und einer virtuellen Umgebung eingerichtet. Dort verwende ich pip um IPython zu installieren. Momentan, wenn ich IPython in einem Terminal starte, bekomme ich:

%Vor%

Bei der Suche nach der Warnung in der ersten Zeile habe ich diesen Problembericht gefunden, also bin ich zurück gegangen und habe ihn installiert das Folgende:

%Vor%

und dann entfernt und neu installiert pysqlite mit pip

%Vor%

Danach dachte ich, ich würde die Installation überprüfen, indem ich das Modul importiere:

%Vor%

So, jetzt scheint es, dass die Datei _sqlite3.so nicht gefunden werden kann. Das war, als ich diese SO-Frage fand. Entweder existiert es nicht oder es ist nicht in meiner Umgebungsvariablen PYTHONPATH. Nach der Datei suchend, bekomme ich:

%Vor%

Also die Datei ist da, aber als ich in meinen Python-Pfad geschaut habe:

%Vor%

keiner der obigen Pfade, die _sqlite3.so enthielten, waren in meinem PYTHONPATH enthalten. Zum Kichern habe ich den Pfad /usr/lib/python2.7/lib-dynload zu meinem PYTHONPATH in einem Terminal hinzugefügt und dann versucht, sqlite3 erneut zu importieren:

%Vor%

Oh oh. Jetzt bin ich völlig festgefahren. Kann mir jemand helfen? Ich habe auch an einigen Stellen gelesen, dass ich Python möglicherweise neu erstellen muss. Ich habe keine Ahnung, wie man das in Pythonbrew macht. Kann mir jemand in die richtige Richtung zeigen?

    
PythonJin 05.01.2013, 15:33
quelle

3 Antworten

7

Danke an minrk, dass er mich in die richtige Richtung gelenkt hat. Alles, was ich tun musste, war Python neu aufzubauen. Ich habe die folgenden Schritte für diejenigen, die Pythonbrew verwenden, beschrieben. Beachten Sie, dass ich das Paket libsqlite3-dev bereits im Fragenbereich installiert habe.

Führen Sie zuerst mit der richtigen Version von Python und virtueller Umgebung den folgenden Befehl aus:

%Vor%

Dies gibt uns eine Textdateiliste aller Pip-Pakete, die in der virtuellen Umgebung für diese bestimmte Python-Version in Pythonbrew installiert wurden. Dann entfernen wir die Python-Version aus Pythonbrew und installieren sie neu (dies ist der Schritt "Python neu erstellen"):

%Vor%

Danach wechseln wir zur neu installierten Python-Version 2.7.3 und erstellen eine neue virtuelle Umgebung (die ich "sci" genannt habe):

%Vor%

Idealerweise sollten Sie den Befehl ausführen können:

%Vor%

und nach dieser Pip sollte alle Module neu installieren, die Sie hatten die virtuelle Umgebung, bevor wir diese Version von Python (2.7.3) besiegten. Es funktionierte für mich aus irgendeinem Grund nicht, also habe ich manuell alle Module mit Pip Individualität installiert.

%Vor%

und IPython Geschichte funktioniert!

    
PythonJin 06.01.2013, 04:39
quelle
9
  

Ich habe auch an einigen Stellen gelesen, dass ich Python möglicherweise neu aufbauen muss.

Das ist richtig. SQLite ist Teil der Standardbibliothek, und wird erstellt, wenn Sie Python kompilieren. Es gibt ein paar "optionale" Teile der Standard-Bibliothek, die Python einfach überspringen wird (mit minimaler Warnung, leider) wenn die Abhängigkeiten zur Build-Zeit fehlen, und sqlite ist einer von diesen. Sie sollten einfach libsqlite3-dev installieren können, dann neu Python und Sie sollten eingestellt werden. Behalte die Build-Nachrichten im Auge, da sie angeben, welche Module aufgrund fehlender Abhängigkeiten übersprungen werden.

    
minrk 05.01.2013 21:06
quelle
4

Was für mich funktioniert hat (mit Osx + Homebrew + gebrautem Python):

%Vor%

Und du solltest gut gehen.

    
Bijan 12.11.2013 11:04
quelle

Tags und Links