Autor
|
Thema: Externe Python-Module installieren (9386 mal gelesen)
|
cerogola Mitglied
Beiträge: 5 Registriert: 14.05.2007
|
erstellt am: 14. Mai. 2007 11:44 <-- editieren / zitieren --> Unities abgeben:
Hallo Zusammen, kennt jemand eine Möglichkeit wie man die ABAQUS (-Python) installation mit einer externen Python-Bibiothek/Modul (z.B. SciPy, NumPy, win32com, ...) erweitern kann? Vielen Dank und Grüße cerogola Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
benevolence Mitglied
Beiträge: 1 Registriert: 13.06.2007
|
erstellt am: 13. Jun. 2007 09:39 <-- editieren / zitieren --> Unities abgeben: Nur für cerogola
|
Mustaine Ehrenmitglied V.I.P. h.c.
Beiträge: 3554 Registriert: 04.08.2005 Abaqus
|
erstellt am: 13. Jun. 2007 14:28 <-- editieren / zitieren --> Unities abgeben: Nur für cerogola
Wie das geht wird in einer ABAQUS-Answer (Answer ID 2999) im ABAQUS Online Support System (AOSS) beschrieben. Bei Interesse kann ich die Answer in ein Dokument kopieren und per Mail verschicken. PM mit Mail-Adresse an mich wer das möchte.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cerogola Mitglied
Beiträge: 5 Registriert: 14.05.2007
|
erstellt am: 13. Jun. 2007 20:28 <-- editieren / zitieren --> Unities abgeben:
Hi, die Answer habe ich bereits. 'habe auch alles so durchgeführt und es funktioniert. Allerdings ... 'war heute auf der ABAQUS-Update-Schulung (Version 6.7). Dort wurde mitgeteilt, dass z.B. win32com (darum gings mir im wesentlichen) wieder bestandteil der ABAQUS-Python Installation ist. Offensichtlich haben sich viele Leute darüber beschwert, dass win32com in v6.6 rausgenommen wurde. Grüßle, Cerogola Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carsten1983 Mitglied Doktorand
Beiträge: 125 Registriert: 11.10.2007
|
erstellt am: 17. Okt. 2007 09:38 <-- editieren / zitieren --> Unities abgeben: Nur für cerogola
Ist zwar nicht mehr topaktuell, aber ich musste vor kurzem auch auf externe Pythonmodule (numpy und scipy)zugreifen. und hab n bischen gebraucht bis ich wusste wie das funktioniert. Deshalb nochmal für die die es interessiert wie ich es gemacht habe: 1. numpy installieren, dabei den Installationspfad merken 2.in Abaqus: - import sys - sys.path.append(r'Pfad zum Modul') --> gibt Python den Hinweis wo noch nach dem Modul gesucht werden soll, außer in Abaqus Libs - import Modul ( in meinem Fall numpy) Naja und dann müsste es eigentlich funktionieren Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cerogola Mitglied
Beiträge: 5 Registriert: 14.05.2007
|
erstellt am: 17. Okt. 2007 19:34 <-- editieren / zitieren --> Unities abgeben:
Hi, das ist auch eine interessante Möglichkeit, die ich so noch nicht kannte. Abgesehen davon, muss noch darauf geachtet werden, dass die installierten/eingebundenen Module zur gleichen Python Version gehören. Also, für Abaqus 6.7 ... Python 2.4 und zu Abaqus 6.6 ... Python 2.3 (falls ich dass noch richtig in Erinnerung habe). Bzgl. numpy und scipy hatte ich noch kleines Problem mit dem Import-Befehl. Bei jedem import dieser Module erhielt ich immer Warnmeldungen, die sich irgendwie nicht abstellen ließen. Die Lösung ist in folgendem Forum zu finden ... http://www.python-forum.de/topic-11201.html
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kutscher81 Mitglied Doktorand
Beiträge: 20 Registriert: 19.08.2009
|
erstellt am: 01. Okt. 2009 19:05 <-- editieren / zitieren --> Unities abgeben: Nur für cerogola
Der Thread ist ja nun schon älter, aber ich habe nun eine 64Bit Abaqus-Variante die mit einem 64Bit-Python versehen ist. Wenn ich nun dem Abaqus Interpreter den Hinweis gebe er soll im Python-Sitepackage Verzeichnis nach dem NumPy-Package schauen, dann bekomm ich die Fehlermeldung DLL load failed with error code 193. Eine Anfrage an Dr. Google ergibt ich brauche eine 64Bit NumPy-Version. Leider hält sich Dr. Google mit Antworten bedeckt, wo ich sowas finden kann. Ich weiß, dass es möglich ist die Packages selber zu "builden", weiß jemand wie das geht, sodass ich eine 64Bit-Version bekomme? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jeremy Mitglied
Beiträge: 129 Registriert: 04.02.2009
|
erstellt am: 02. Okt. 2009 10:55 <-- editieren / zitieren --> Unities abgeben: Nur für cerogola
|
kutscher81 Mitglied Doktorand
Beiträge: 20 Registriert: 19.08.2009
|
erstellt am: 02. Okt. 2009 13:30 <-- editieren / zitieren --> Unities abgeben: Nur für cerogola
Im Installationsmanual steht, dass Abaqus 6.8 nur mit den Pythonversionen 2.4.x arbeitet. Insofern wäre es nicht sinnvoll die Version zu ändern. Ich weiß allerdings nicht, was auf der offiziellen Homepage zu diesem Thema steht, in Zusammenhang mit der Version 6.9 bzw. was in Zukunft mit Abaqus und Python geschieht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jeremy Mitglied
Beiträge: 129 Registriert: 04.02.2009
|
erstellt am: 26. Jun. 2013 21:47 <-- editieren / zitieren --> Unities abgeben: Nur für cerogola
Guten Abend, dieser Beitrag ist schon älter aber dennoch wieder aktuell. Ich möchte scipy in der Version 0.12.0 in Abaqus/CAE 6.11 nutzen und brauche dazu numpy ab Version 1.5.0 - in Abaqus/CAE ist aber nur numpy 1.4.0 verfügbar. Jetzt habe ich die numpy-1.4.0 "ausgeblendet" und die neue Version 1.7.1 installiert. Es funktioniert und ich kann scipy und numpy problemlos importieren - benutzen kommt später und muss jetzt erprobt werden. Meine Frage 1: schadet es Abaqus/CAE in irgendeiner Form, wenn ich numpy-1.7.1 als Standard belasse? Muss beim Auslesen/Bearbeiten der Daten von odb-Dateien auf numpy-1.4.0 verfügbar sein oder ist eine neuere Version auch in Ordnung? Hast jemand Erfahrungen damit? Frage 2: mit Code: >>> from sys import path
erhalte ich die Liste der Ordner in den Abaqus/Python nach Bibliotheken sucht. Ich kann die Liste bearbeiten, Teile löschen und andere hinzufügen. Leider hat das keine Auswirkung, wenn ich direkt danach eine Bibliothek importiere. Es wird stets die path-Liste im Ausgangszustand berücksichtigt. In der "normalen" Python-Shell funktioniert diese Verfahren. Lässt Abaqus/CAE diese Manipulation nicht zu? Oder kann ich im aktuellen Arbeitsverzeichnis eine lokale abaqus_v6.env einbauen um die Suchorte der Bibliotheken einzugrenzen?Ich hoffenicht zu viele Fragen auf einmal gestellt zu haben und freue mich auf Antworten. Grüße Jeremy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schneitzmaster Mitglied Maschbau-Ingenieur
Beiträge: 12 Registriert: 09.01.2013
|
erstellt am: 19. Aug. 2013 10:54 <-- editieren / zitieren --> Unities abgeben: Nur für cerogola
Hallo Jeremy, leider kann ich dir deine Frage nicht beantworten. Dennoch interessiere ich mich sehr für deinen Ansatz. Ich selbst habe es noch nicht hinbekommen ein externes Python-Modul zu installieren. Ich würde gern MatplotLib verwenden um selbst Grafiken zu erstellen. Kannst du mir kurz beschreiben wie du das gemacht hast? Ich habe bisher immer nur Windows-Anleitungen gefunden, die ich bei mir auf dem PC (Ubuntu 12.04) nicht umsetzen konnte. Wie ist das bei dir nimmst du Windows oder Linux? Viele Grüße und Danke im Voraus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jeremy Mitglied
Beiträge: 129 Registriert: 04.02.2009
|
erstellt am: 19. Aug. 2013 19:16 <-- editieren / zitieren --> Unities abgeben: Nur für cerogola
Hallo schneitzmaster, ich arbeite hauptsächlich mit Windows7. Ein Linux-Server steht mir auch zur Verfügung, auf dem habe ich meine Lösung allerdings noch nicht getestet, sollte aber auch funktionieren. Zu deiner ersten Frage: Ich habe die abaqus_v6.env modifiziert. In der abaqus_v6.env kann man mit Hilfe eine if-Bedingung z.B. Umgebungsvariablen abfragen. Unter Windows setze in der Kommandozeile die Varaiable ABQSCIPY=YES (da ich mir nicht sicher war ob numpy-1.7.1 sich negativ auswirkt, wollte ich es ein- und ausschalten können). Bei Start von Abaqus (starten aus der Kommandozeile heraus) wird dann in abaqus_v6.env geprüft, ob die Variable ABQSCIPY den Werte "YES" hat (ob sie überhaupt existiert würde auch ausreichen). Wenn ja, dann wird der PYTHONPATH so erweitert, dass die externe Bibliothek (hier numpy-1.7.1 und scipy-012.0) aufgenommen werden und die Bibliotheken werden geladen. Da sie schon geladen sind, wird später die ältere Version von numpy nicht mehr geladen. So funktioniert es prinzipiell. Ich kann die morgen die zusätzlichen Zeilen hier zeigen. Habe sie jetzt nicht greifbar. Wo ist dein Arbeitsgebiet? Bist du Mitarbeiter an einer Uni oder in der Industrie? Gruß Jeremy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
schneitzmaster Mitglied Maschbau-Ingenieur
Beiträge: 12 Registriert: 09.01.2013
|
erstellt am: 20. Aug. 2013 17:50 <-- editieren / zitieren --> Unities abgeben: Nur für cerogola
Hi super, das mit der abaqus_v6.env wusste ich noch nicht. Ich hab da zwar auch schon mal drin "rumgepfuscht", aber das man darüber Python steuert ist mir neu. Das probiere ich morgen gleich mal aus. Dennoch stellt sich mir die Frage wie ABAQUS dann das zusätzliche scipy- oder in meinem Fall matplotlib Modul finden kann. Muss man da nicht noch irgendwie angeben wo das Modul installiert ist? Ich meine, man muss ja auch für alle Python-Versionen extra die module installieren. Lokal hab ich in Linux noch Python 2.7 installiert und dazu das entsprechende matplotlib modul, numpy, scipy usw.. Aber ich glaube ABAQUS hat sein eigenes Python installiert. Na ja ich bin gespannt auf deine Zeilen. Mein Arbeitsgebiet liegt in der Schädigungsmechanik von heterogenen Werkstoffen (Polymeren) und das ganze ander Uni (KIT). Grüße Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Jeremy Mitglied
Beiträge: 129 Registriert: 04.02.2009
|
erstellt am: 22. Aug. 2013 10:58 <-- editieren / zitieren --> Unities abgeben: Nur für cerogola
Zuerst muss du die gleiche Python-Version auf deinem Rechner installieren, die auch in Abaqus/CAE enthalten ist. Bei Abq6111 ist das z.B. Python 2.6. Dann installierst du Matplotlib für die entsprechende Python-Version im Python-Installationsverzeichnis (meist C:\Python). Den matplotlib-Ordner kannst du dann in einen beliebigen Ordner kopieren und diesen in die Umbegungsvariable PYTHONPATH für Abaqus integrieren. Das funktioniert in der abaqus_v6.env, nutze dazu os.environ['PYTHONPATH'] um den matplotlib-Ordner hinzuzufügen. Lass dir vorher über os.environ anzeigen, welche Umgebungsvariablen es gibt und welche Werte sie haben. Dann solltest du erkennen, wo und wie du den matplotlib-Ordner hinzufügst. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |