2015-06-02 11 views
9

Ich habe überall gesucht. Stackoverflow, diverse Message-Boards, die py2exe-Website, die pyinstaller-Website ... nichts hilft. Es scheint unmöglich, das selen-Modul zu integrieren, insbesondere eine exe, die firefox unterstützt. Ich fange an, mir die Haare auszuziehen, weil die Verwendung von py2exe und pyinstaller ein großer Kopfschmerz wird.Erstellen einer Exe mit Selen Modul: Py2exe/Pyinstaller

Beide py2exe und pyinstaller haben ihren Anteil an Problemen.

Mein Ziel ist eine einzige exe-Datei, ohne zusätzliche Verzeichnisse, so dass andere Leute mein Programm verwenden können, wenn sie nicht Python/Module haben.

Mit py2exe, wenn ich eine setup.py-Datei als solche

from distutils.core import setup 
import py2exe 

setup(
name='Ask Alfred', 
data_files = [('Drivers', ['Drivers/chromedriver.exe', 
      'Drivers/webdriver.xpi','Drivers/webdriver_prefs.json'])], 
version='1.0', 
description='Find emails fast!', 
author='Me', 
windows=[{'script': 'alphy.py'}], 
options={ 
    'py2exe': 
     { 
      'skip_archive': False, 
      'optimize': 2, 
     } 
} 
) 

erstellen wird es eine exe in der dist-Ordner erstellen und eine Treiber-Ordner mit den Dateien, die ich brauche, aber wenn ich versuche zu laufen Die exe wird mir sagen, dass sie diese Dateien nicht finden konnte (weil sie im Ordner library.zip nach ihnen sucht). Außerdem sieht meine GUI schrecklich aus (Schriftarten sind jetzt grau statt schwarz und Bilder mit weißem Hintergrund haben jetzt graue Hintergründe).

Mit pyinstaller, wenn ich die "--onefile" -Flag beim Erstellen der exe verwenden es überhaupt nicht funktioniert/weder Firefox noch Chrome wird gestartet.

Mit beiden bekomme ich nur brauchbare Ergebnisse, wenn ich nicht archivieren/nicht eine Datei erstellen. In diesem Fall liefert pyinstaller eine voll funktionsfähige Lösung.

Antwort

2

Try this:

options={ 
    'py2exe': 
     { 
      'skip_archive': True, 
      'unbuffered': True, 
      'bundle_files': 2, #assuming you dont want to include the python interpreter 
      'optimize': 2, 
     }, 
}, 
zipfile = None 
+0

war es gut funktioniert? kein Kommentar dafür. –

+0

nein ... du kannst skip_archive und zipfile nicht verwenden = None ;-( – manatlan