INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Python Code in LabVIEW nutzen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

14.03.2016, 15:20 (Dieser Beitrag wurde zuletzt bearbeitet: 14.03.2016 15:30 von rolfk.)
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Python Code in LabVIEW nutzen
(14.03.2016 11:27 )n4f3ts schrieb:  Genau, die Python Bibliotheken sind im Python Programm eingebunden,

Sind Sie aber eben nicht! Die Python Standard-Funktionsbibliotheken (ausser einigen wenigen low level Bibliotheken) sind fast alle im Lib Unterverzeichnis in der Python Installation als externe (zum Teil vorkompilierte) Python Scripts anwesend.

Die Python DLL wurde irgendwann mal zwischen Python 2.3 und 2.5 von dem Python Installationsdirectory ins System32 Directory befördert und hier beginnt das Problem.

Die Python DLL probiert während dem Starten das Python Installationsdirectory zu finden. Dazu liest sie verschiedene Environment Variablen, danach die Registry und zuletzt wird das Directory wo die DLL ist und danach das Directory wo das aktuelle Executable File ist durchsucht. Leider scheinen alle aktuellen Python Installer aber zu vergessen, eine dieser Environmentsvariablen zu setzen (weniger wünschenswerte Option unter Windows) oder einen entsprechenden Registryeintrag zu machen. Das Directory wo die Python DLL ist hilft auch nicht mehr seit diese DLL ins System32 Directory verschoben wurde und das Directory der aktuellen Application ist für den Python Interpreter zwar korrekt und darum funktioniert es dort auch noch, aber LabVIEW ist natürlich an einem ganz anderen Ort installiert.

Der einfachste Fix ist daher um am Anfang Deines Scripts bevor irgendein import Statement gemacht wird die Zeile

Code:
sys.path.append("C:\Python27\Lib")

hinzuzufügen, mit dem Path natürlich so angepasst dass er auf Deine aktuelle Python Installation weist. Andere Workarounds wären um eine der Umgebungsvariablen PYTHONPATH oder PYTHONHOME zu setzen. PYTHONHOME sollte dabei das Installationsdirectory von Python sein (z.B. "C:\Python27"), während PYTHONPATH der Syntax von sys.path entspricht.
Oder man könnte einen Registryeintrag machen unter "HKLM\Software\Python\PythonCore\<version>\PythonPath\<name>" mit dem Pfad zum Python Lib-Directory als Wert.

<version> entspricht dabei der Python Version und <name> ist ein beliebiger Name, hier zum Beispiel "Lib".

Dann sollten die eingebauten Libraries von Python auch von LapPython aus verfügbar sein. Ausführung von numpy und scipy wird aber danach immer noch ein Problem sein, da hier scheinbar eine Inkompatibilität besteht aufgrund von Multithreadingproblemen. LabVIEW ist voll Multithreading, Python grundsätzlich nicht und numpy und scipy und möglicherweise andere Libraries geraten dann irgendwie ins Trudeln. LabPython versucht zwar um das zu verhindern durch entsprechende Python Funktionen anzurufen aber irgendetwas scheint dabei nicht ganz so gut zu gehen, möglicherweise bedingt durch Änderungen in Python seit der ursprünglichen Implementation von LabPython unter Python 2.2 und 2.3.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Nachrichten in diesem Thema
Python Code in LabVIEW nutzen - n4f3ts - 14.03.2016, 10:34
RE: Python Code in LabVIEW nutzen - rolfk - 14.03.2016 15:20

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Labview 16 aufruf von Python Skript bachatero18 2 3.144 21.12.2022 11:00
Letzter Beitrag: bachatero18
  Kommunikation mit laufendem Python-Script Lime 2 2.881 29.04.2021 16:32
Letzter Beitrag: jg
  LabVIEW 7.1 vi Code in LabVIEW 2015 öffnen Muri 9 6.180 01.03.2017 13:02
Letzter Beitrag: Muri
  Finite Elemente Methode in LabVIEW nutzen stumpfi 2 3.336 30.01.2017 10:08
Letzter Beitrag: stumpfi
  Viele Variablen in SubVI nutzen chrisw 3 3.575 02.12.2016 11:35
Letzter Beitrag: GerdW
  CRC-Berechnung in LabVIEW anhand eines C-Code-Beispiels /Suche nach Frequenzumrichter Y-P 32 20.721 23.02.2016 08:57
Letzter Beitrag: Y-P

Gehe zu: