pyopencl mit vorkompilierten Paketen unter Windows?

Probleme bei der Installation?
Antworten
Norbi
User
Beiträge: 15
Registriert: Samstag 13. April 2013, 11:42

Hallo,

zunächst bitte ich um Nachsicht, falls meine Kenntnisse bezüglich Python noch nicht so vertieft sind wie es eventuell erwartet wird, aber ich habe mich erst seit kurzer Zeit mit Python befasst. Eigentlich möchte ich mich hauptsächlich mit GPU-Programmierung unter OpenCL beschäftigen aber dazu benötigt man sozusagen ein "Verbindungsmedium", also eine Programmiersprache mit einer Bindung an eine OpenCL oder CUDA Schnittstelle und da ist unter Windows offensichtlich Python das erste Mittel der Wahl.

Mein Problem besteht darin, eine funktionsfähige Python Umgebung mit pyopencl unter Windows aufzubauen, die mit vorkompilierten Paketen funktioniert. Das sollte eigentlich kein großes Problem sein denn man findet unter folgender Seite eine entsprechende Auswahl an vorkompilierten Installationspaketen von pyopencl, die mit der Python Standardinstallation von python.org funktionieren sollten.

http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopencl

Leider funktioniert diese Sache nicht denn es treten zwei weitere Probleme auf. Zum ersten fehlen erforderliche zusätzliche Bibliotheken oder Zusatzmodule (oder wie das in Python genannt wird) und ich kann anhand der Fehlermeldungen, die auftreten, nur raten, was denn nun fehlt. Hierbei bin ich teilweise schon weiter gekommen aber dann habe ich noch ein weiteres Problem. Es fehlen Anteile, die nur aus Python Code bestehen und die es nur in Form von Installationspaketen für Unix gibt (gezippte Tar-Archive). Hier weiß ich nicht, wie ich diese Sachen unter Windows in die Python Umgebung einbringen soll. Offensichtlich genügt es nicht, diese Sachen in die entsprechenden Pfade (die ich teilweise nur erraten kann) auszupacken. Ich vermute mal, dass man auch entsprechende Installationsskripte laufen lassen muß um die Verfügbarkeit der zusätzlichen Teile (oder Module, Bibliotheken, whatever ..) bekanntzugeben.

Vielleicht sehe ich auch den Wald vor lauter Bäumen nicht denn jede Programmiersprache hat ja seine eigenen Tools und Mittelchen um das Ganze zu komplettieren. Es wäre nett, wenn mir jemand helfen könnte und mir ein paar Tips gibt, wie ich eine funktionsfähige Python Umgebung mit pyopencl unter Windows aufbauen kann.

Vielen Dank schon mal an Euch!

Beste Grüße,

Norbert
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ohne die Entsprechenden Fehlermeldungen und deinem Vorgehen ist es schwer dir da zu helfen, denn schließlich müsste man zum nachvollziehen ja erstmal eine VM mit Windows installieren, was recht zeitaufwändig ist für etwas das ggf. leicht zu lösen wäre.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Norbi
User
Beiträge: 15
Registriert: Samstag 13. April 2013, 11:42

Hallo Leonidas,

ich hatte die Hoffnung, dass jemand aus dem Forum sich schon mal speziell mit dieser Sache befaßt hat und mir ganz einfach die Namen und Herkunft der 3-4 zusätzlichen Pakete angeben kann, die ich zu der Standardinstallation des Python Paketes von python.org benötige.

Ok, also hier meine bisherige "Grundausstattung", die ich installiert habe:

python-2.7.4.msi
vcredist_x86.exe (C++ 2008 Runtime)
Dazu von der in meinem ersten Posting erwähnten Seite folgende Pakete:
numpy-unoptimized-1.7.1.win32-py2.7.exe
pyopencl-2012.1.win32-py2.7.exe
Und dazu habe ich einfach mal durch Kopieren des Inhalts folgendes Paket "hinzugefügt" (keine Ahnung ob das so richtig war):
pytools-2012.1.tar.gz


Das auszuführende Python Skript ist die hier abgebildete Demo (demo.py):

http://documen.tician.de/pyopencl/


Und hier ist die Fehlerausgabe wenn ich das Ganze ausführen möchte:

D:\download>python demo.py
Traceback (most recent call last):
File "demo.py", line 23, in <module>
""").build()
File "c:\python27\lib\site-packages\pyopencl\__init__.py", line 121, in build
from pyopencl.cache import create_built_program_from_source_cached
File "c:\python27\lib\site-packages\pyopencl\cache.py", line 11, in <module>
from pytools import Record
File "c:\python27\lib\site-packages\pytools\__init__.py", line 10, in <module>

decorator_module = __import__("decorator", level=0)
ImportError: No module named decorator

D:\download>

Vielen Dank schon mal für weiterführende Hinweise.

Beste Grüße,

Norbert
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Die Fehlermeldung sagt ja recht deutlich dass das decorator-Modul nicht gefunden wurde. Siehst du, schon allein die Angabe einer Fehlermeldung kann helfen :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Norbi
User
Beiträge: 15
Registriert: Samstag 13. April 2013, 11:42

Leonidas hat geschrieben:Die Fehlermeldung sagt ja recht deutlich dass das decorator-Modul nicht gefunden wurde. Siehst du, schon allein die Angabe einer Fehlermeldung kann helfen :)
Hallo Leonidas,

vielen Dank für den Hinweis. Wie installiere ich dieses Modul denn unter Windows? Gibts bei Python sowas wie ein Verwaltungstool für die Installation von Zusatzmodulen? Ich habe mir den Inhalt der Archivdatei mal angeschaut aber die beigefügte setup.py Routine scheint eher für Unix gedacht zu sein. Das Problem hatte ich auch schon bei anderen Python Modulen (z.B. pytools).

Gruß, Norbert
Norbi
User
Beiträge: 15
Registriert: Samstag 13. April 2013, 11:42

So, nun läuft alles wie gewünscht! Ich habe der Beschreibung entnommen, dass man dieses Zusatzpaket einfach irgendwohin auspackt und dann "python setup.py install" auf der Kommandozeile eingeben muß. Ich hoffe mal, dass das so richtig ist, was ich gemacht habe. Jedenfalls läuft es nun :mrgreen:

Jedenfalls vielen Dank Leonidas für Deine Unterstützung!

Beste Grüße,

Norbert
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Norbi hat geschrieben:So, nun läuft alles wie gewünscht! Ich habe der Beschreibung entnommen, dass man dieses Zusatzpaket einfach irgendwohin auspackt und dann "python setup.py install" auf der Kommandozeile eingeben muß. Ich hoffe mal, dass das so richtig ist, was ich gemacht habe. Jedenfalls läuft es nun :mrgreen:
Ich hätte da ´python setup.py bdist_wininst` gemacht, weil das einen Installer generiert und man das dann auch dinstallieren kann, aber so wie du das gemacht hast geht das natürlich auch.

Alternative ist es auch noch über pip zu installieren, da musst du nix runterladen, weil pip das automatisch tut.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten