Seite 1 von 1
py2exe mal wieder
Verfasst: Montag 9. März 2009, 21:56
von sorgenlos
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?
Verfasst: Montag 9. März 2009, 22:02
von problembär
PyInstaller kann das mit der Option "--onefile" ...
Verfasst: Montag 9. März 2009, 22:40
von py-mule
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
Verfasst: Dienstag 10. März 2009, 11:20
von sorgenlos
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.
Verfasst: Mittwoch 11. März 2009, 10:41
von sorgenlos
habs geschafft, wens interessiert
ich habe die 2.5er Version von Python genommen und den neuesten Trunk von PyInstaller, dann funktionierts tadellos
