Seite 1 von 1

Rpy und py2exe

Verfasst: Mittwoch 19. August 2009, 09:13
von The Spirit
Hi.
Ich versuche gerade mit py2exe aus meinem Programm eine exe zu bauen.
Dies funktioniert auch einwandfrei.
Benutze ich jetzt jedoch rpy, dann "kompiliert" er zwar alles ohne fehler aber die Ausführung geht dann nicht.
Ich habe dazu auch schon alles bezüglich rpy aus meinem Code zu testzwecken auskommentiert und die dann erzeugte exe läuft einwandfrei.
Als fehlermeldung mit importiertem rpy kommt folgendes:

Code: Alles auswählen

RuntimeError: No module named _rpy2070

      RPy module can not be imported. Please check if your rpy
      installation supports R 2.7.0. If you have multiple R versions
      installed
Lasse ich den python code jedoch so laufen, findet er alles. Auch die spezielle datei liegt im ordner site-packages von python 2.5.x.

Habe nun versucht, das setup file für py2exe anzupassen und es sieht aktuell wie folgt aus:

Code: Alles auswählen

from distutils.core import setup
import py2exe
from rpy import *
import sys
sys.argv.append("py2exe")

setup( windows = ['main_wx.py'],
options = { "py2exe":
					{ "packages": "rpy", } } )
Jedoch funktioniert es noch immer nicht.
Hat hier vielleicht jemand ne idee?
Thx

Verfasst: Mittwoch 19. August 2009, 09:18
von cofi
Warum importierst du denn ``rpy`` im setup? oO

Ist rpy, denn auch ein Package, andernfalls ist es unter ``includes`` besser aufgehoben? Daneben kannst du mal die Option ``"includes" : "_rpy2070"`` testen.

Verfasst: Mittwoch 19. August 2009, 09:36
von The Spirit
danke für die tips.
hab jetzt mal so umgebaut

Code: Alles auswählen

from distutils.core import setup
import py2exe


setup( windows = ['main_wx.py'],
options = { "py2exe":
					{ "packages": "rpy", "includes": "rpy"} } )
Jedoch geht es noch immer nicht.
Hänge ich bei den incluse noch "_rpy2070" mit rein bekomme ich während des py2exe machens einen error, das er dir R.dll nicht finden kann.
Die Datei ist selber keine DLL sonder sieht so aus

Code: Alles auswählen

_rpy2070.pyd

Verfasst: Mittwoch 19. August 2009, 09:44
von The Spirit
juhu, es klappt.
hab jetzt einfach mal die ganzen dll´s von R in den ordner site-packages von python 2.5.x geworfen.
danach lies es sich auch kompilieren.
nochmal danke für den tip mit includes im setup.py script