2015-10-10 3 views
11

Auf meinem OS (Linux Mint Debian Edition 2), mit Ausnahme der System Python (/usr/bin/python) installiert finden oder laden Ich habe auch die Anaconda installiert. Aber ich habe ein Problem encounterd Sie den folgenden Code mit dem anaconda Pythonanaconda Python: konnte nicht die Qt-Plattform-Plugin "xcb" durch die <strong>apt</strong>

# test.py 
import matplotlib.pyplot as plt 
import numpy as np 
x = np.array([0, 1]) 
plt.scatter(x, x) 
plt.show() 

Der Fehler ist

Diese Anwendung konnte nicht gestartet werden, weil es nicht oder laden Sie die Qt-Plattform-Plugin finden konnten, "xcb".

Durch erneutes Installieren der Anwendung kann dieses Problem behoben werden.

Aborted

Aber wenn ich mit dem System Python versuchen, das heißt, /usr/bin/python test.py, funktioniert es richtig.

Dann versuchte ich die Ipythons, System und Anakonda, das Ergebnis ist das gleiche wie zuvor: der Anaconda Ipython Kernel starb.

Und ich habe versucht, fügen Sie die ipython Magie %matplotlib inline in den Code, funktioniert die Anaconda Ipython jetzt korrekt. Aber wenn ich die %matplotlib inline durch %pylab ersetze, starb der Anaconda Ipython wieder.

Hinweis: Ich benutze die Python 2.7. Die Version von System ipython ist 2.3, die Version von Anaconda ipython ist 3.2.

+0

Ich habe auch versucht die * xcb * installieren, 'Conda installieren --channel https://conda.anaconda.org/jdreaver libxcb ', aber das Problem ist wie zuvor. –

+1

Das zugrunde liegende Problem ist wahrscheinlich, dass das System Qt und die Anaconda Qt nicht übereinstimmen und das Plugin-System (das über ENVs funktioniert) wird gekreuzt. Das Aktivierungsskript unter https://gist.github.com/tacaswell/1d36a5ecc372f65e9f46 könnte hilfreich sein. Als ich in einer KDE-Box war, benutzte ich als regelmäßig. – tacaswell

+0

Ich lese die [Conda Doc] (http://conda.pydata.org/docs/) sorgfältig. Und ich habe meine Umgebung geändert, um zu vermeiden, dass das installierte Python-Paket oder das installierte pip mit den Anaconda-Paketen gemischt wird. Dann installiere ich die Anakonda neu. Ich finde das Problem verschwindet. –

Antwort

14

Gleiches Problem mit Linux Mint 17, 64 Bit. Es wurde nach 4h Suche im Netz gelöst! Sie müssen diese Befehle auf dem Terminal aus dem Ordner/anaconda2/bin

geben

Hoffe es hilft!

+1

Totally arbeitete für mich! –

+0

Funktioniert auch für mich! –

+1

Nachdem dies mit Anaconda 4.3.21 versucht wurde. Für Python 2.7 deinstallierte es verschiedene wichtige Pakete ('jupyter',' matplotlib' usw.), nicht nur 'qt'. Diese Lösung hat bei mir nicht funktioniert. Ich versuche, dies auf Rstudio auszuführen, und ich bekomme den gleichen Fehler 'Diese Anwendung konnte nicht gestartet werden, weil es das Qt-Plattform-Plugin" xcb "nicht finden oder laden konnte." –

4

Ich habe dieses Problem auf Ubuntu 16.04 mit Anaconda 4.3.17 (Python 2.7) erlebt. Das Problem stammte von Anaconda mit Qt Version 5.6 installiert, während meine System Qt-Bibliotheken Version 5.5 waren.

Eine schnelle Hack ist sicher Anaconda Bibliotheken voraus Ihre Systembibliotheken zu machen, indem LD_LIBRARY_PATH setzen:

export LD_LIBRARY_PATH=$HOME/anaconda2/lib:$LD_LIBRARY_PATH 

Leider wird dies andere Programme brechen, die Qt 5.5 verwenden, so dass Sie nur in Situationen nutzen können Das sind zum Beispiel 100% Anaconda Python, wenn Sie eine Ipython-Sitzung mit --pylab starten.

entdeckte ich, dass dies das Problem war auf dem Weg libxqcb.so, indem Sie verlinkt:

ldd $HOME/anaconda2/plugins/platforms/libqxcb.so

, die die folgenden Fehler gemeldet:

./libqxcb.so: /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5: version `Qt_5_PRIVATE_API' not found (required by ./libqxcb.so) 
./libqxcb.so: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by ./libqxcb.so) 
./libqxcb.so: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by ./libqxcb.so) 
./libqxcb.so: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.6' not found (required by ./libqxcb.so) 

Die Fehlermeldungen sie sagen kann Qt_5.6 nicht finden, welches die Version von anaconda ist. Die Version auf meinem System war 5.5, die ich durch einen Blick auf den Dateinamen herausgefunden, die von diesem Befehl Folge:

ls /usr/lib/x86_64-linux-gnu/libQt* 
+0

Diese Lösung ist temporär? Ich meine, es läuft einfach 'export LD_LIBRARY_PATH = $ HOME/anaconda2/lib: $ LD_LIBRARY_PATH' auf einem Terminal und wenn ich das Terminal schließe, wird die Variable 'LD_LIBRARY_PATH' wieder normal und es besteht keine Gefahr, andere Anwendungen zu beeinflussen. –

+0

Ich benutze diese Lösung, um pycharm oder ipython zu starten - ich schrieb ein Skript, das zuerst LD_LIBRARY_PATH wie oben exportiert und dann ipython --pylab ausführt, und ein anderes Skript, das dasselbe für pycharm tut. Wenn ich ein Python-Skript über die Befehlszeile ausführe, die Plots in Matplotlib erstellt, werde ich LD_LIBRARY_PATH wie oben auch in dieser Situation exportieren. Ich möchte nicht Nicht-Python-Anwendungen die Qt-Version von Anacona verwenden. – goats

+0

danke für den Tipp. –

Verwandte Themen