py2exe mal wieder

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

Montag 9. März 2009, 21:56

Hallo Leuts
wenn ich ein python script zur exe kompiliere
dann hab ich neben der exe im gleichen ordner auch noch:

Code: Alles auswählen

bz2.pyd
library.zip
python26.dll
select.pyd
unicodedata.pyd
w9xpopen.exe
_socket.pyd
_ssl.pyd
diese dateien sind ja essentiell damit die exe dann auch läuft,
gibt es aber eine alternative wo ich am ende dann wirklich
nur eine .exe habe zur einfachen distribution der datei?
problembär

Montag 9. März 2009, 22:02

PyInstaller kann das mit der Option "--onefile" ...
py-mule
User
Beiträge: 58
Registriert: Samstag 3. Januar 2009, 10:42

Montag 9. März 2009, 22:40

Hi,
bei pyinstaller geht es auch mit -F.

Mehr dazu kann man z.B. hier lesen:

http://www.marcogabriel.com/blog/archiv ... eilen.html


Gruß
py-mule
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

Dienstag 10. März 2009, 11:20

danke für die infos, hat auch größtenteils geklappt nur mit einer nicht:

#dateiname:upload.py

Code: Alles auswählen

import sys, os
from ftplib import FTP

server = 'xxx'
username = 'xxx'
password = 'xxx'

def upload(fname):
    #remote_folder = "temporary" #wunschordner

    name = os.path.basename(fname) #filename fetchen
    name = name.replace(" ","-") #bindestriche ersetzen fuer besseres web-handling


    #Connect to server
    ftp = FTP(server)
    ftp.login(username, password)
    #ftp.cwd('public_html/'+remote_folder) #wechsel zu remote_folder
    #ftp.retrlines('LIST') #ausfuehrliches dir listing um ordnerberechtigungen zu ueberpruefen
    
    #Upload the file to the server
    print "Hochladen...",
    ftp.storbinary("STOR "+name, open(fname,"rb"))
    ftp.close()
    print "Fertig!"

upload(sys.argv[1])

Code: Alles auswählen

Traceback (most recent call last):
  File "<string>", line 2, in <module>
  File "C:\Python26\pyinstaller-1.3\iu.py", line 312, in importHook
    mod = _self_doimport(nm, ctx, fqname)
  File "C:\Python26\pyinstaller-1.3\iu.py", line 398, in doimport
    exec co in mod.__dict__
  File "C:\Python26\pyinstaller-1.3\upload\buildupload\out1.pyz/ftplib", line 46, in <module>
  File "C:\Python26\pyinstaller-1.3\iu.py", line 312, in importHook
    mod = _self_doimport(nm, ctx, fqname)
  File "C:\Python26\pyinstaller-1.3\iu.py", line 398, in doimport
    exec co in mod.__dict__
  File "C:\Python26\pyinstaller-1.3\upload\buildupload\out1.pyz/socket", line 46, in <module>
  File "C:\Python26\pyinstaller-1.3\iu.py", line 312, in importHook
    mod = _self_doimport(nm, ctx, fqname)
  File "C:\Python26\pyinstaller-1.3\iu.py", line 382, in doimport
    mod = director.getmod(nm)
  File "C:\Python26\pyinstaller-1.3\iu.py", line 215, in getmod
    mod = owner.getmod(nm)
  File "C:\Python26\pyinstaller-1.3\iu.py", line 77, in getmod
    mod = imp.load_module(nm, fp, attempt, (ext, mode, typ))
ImportError: DLL load failed: The specified module could not be found.
Benutzeravatar
sorgenlos
User
Beiträge: 69
Registriert: Donnerstag 15. Februar 2007, 00:52

Mittwoch 11. März 2009, 10:41

habs geschafft, wens interessiert

ich habe die 2.5er Version von Python genommen und den neuesten Trunk von PyInstaller, dann funktionierts tadellos :)
Antworten