Importproblem von libtk8.4.so bei Verwendung von tkinter

Probleme bei der Installation?
Antworten
schneitzmaster
User
Beiträge: 94
Registriert: Freitag 26. Oktober 2012, 15:35
Wohnort: Hamburg

Hallo Leute,

ich versuche nun schon seit längerem matplotlib zum laufen zu bekommen. Bis jetzt ohne erfolg.
Das Problem ist das ich ein Programm (ABAQUS CAE) verwende um FE-Modelle zu erstellen. ABAQUS CAE benutzt seine eigene Pythoninstallation.
Ich habe es aber geschafft über den Befehl

Code: Alles auswählen

import sys
sys.path.append(".pythonbrew/pythons/Python-2.6.2/lib/python2.6/site-packages")
die matplotlib Biliotheken einer zusätzlichen im System installierten Pythonversion zur Verfügung zu stellen. Dadurch ist es möglich die matplotlib Bibliothek im ABAQUS interpreter zu importieren.
Verwende ich allerdings den Befehl

Code: Alles auswählen

import matplotlib.pyplot as plt
erhalte ich die Fehlermeldung:
...
File "/opt/ABAQUS/6.13-2/tools/SMApy/python2.6/lib/python2.6/lib-tk/Tkinter.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: libtk8.4.so: cannot open shared object file: No such file or directory

Ich kann also nicht auf die Bibliothek libtk8.4.so zugreifen.
Gibt es vielleicht eine Möglichkeit diese Bibliothek im Nachhinein zur Verfügung zu stellen bzw. über einen Pythonbefehl einen Pfad zu dieser zu setzen?
Ich wäre für jegliche Hilfe sehr dankbar.
Beste Grüße
Schneitzmaster
schneitzmaster
User
Beiträge: 94
Registriert: Freitag 26. Oktober 2012, 15:35
Wohnort: Hamburg

*push*
(Hat keiner von euch eine Idee?)
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@schneitzmaster: ABAQUS wird nicht nur seine eigene Python-Version mitbringen, sondern auch die dazugehörigen Bibliotheken in einem eigenen Verzeichnis haben. Wenn Du jetzt versuchst, Bibliotheken verschiedener Versionen zu mischen, wird das sicher schief gehen. Du mußt schon ein passendes Matplotlib für ABAQUS übersetzen.
schneitzmaster
User
Beiträge: 94
Registriert: Freitag 26. Oktober 2012, 15:35
Wohnort: Hamburg

@sirius: vielen dank für die antwort. Ich habe deinen Rat befolgt und mittels pythonbrew python2.6.2 installiert ( http://www.howopensource.com/2011/05/ho ... -in-linux/ ).
Über die bei sourceforge angebotenen Packete konnte ich auch erfolgreich scipy 0.7.2 und numpy 1.4.0.rc2 installieren. Die funktionieren auch nun auch bei zusätzlicher Pfad erweiterung ohne Probleme in ABAQUS.
Die Installation von matplotlib 1.2.1rc1 ging auch ohne Probleme.
Leider kann ich aber keine Funktionen plotten, sprich die Befehle

Code: Alles auswählen

import numpy
import matplotlib
import pylab
x = numpy.arange(0, 5, 0.1)
y = numpy.sin(x)
matplotlib.pyplot.plot(x, y)
pylab.show()
Ergeben nur den Output
[<matplotlib.lines.Line2D object at 0x30af090>]
ohne dass sich ein Fenster öffnet.
Ich vermute das Problem liegt am falschen Backend denn

Code: Alles auswählen

matplotlib.get_backend()
ergibt
'agg'.
Hättest du eine Idee wie ich 'Tkagg' o.ä. als Backend in meiner pythonbrew version von python nachinstallieren kann, so dass sich auch Fenster mit Funktionen öffnen lassen?
Antworten