Ich schrieb ein kleines Python-Programm in 3.6, um eine Aufgabe zu automatisieren, die ich monatlich bei der Arbeit mache. Es könnte für andere Leute nützlich sein, mit denen ich arbeite, also habe ich versucht, es mit Pynsist zu bündeln.Selenium ModuleNotFoundError laufendes installiertes Programm gebündelt mit Pynsist
Vor dem Bündeln wird das Programm sowohl von IDLE als auch von der Windows-Befehlszeile erfolgreich ausgeführt. Nach der Bündelung und Installation über die .exe, erhalte ich eine Fehlermeldung,:
Traceback (most recent call last): File "C:\Program Files\Time Clocker\timeClocker.py", line 7, in from selenium import webdriver ModuleNotFoundError: No module named 'selenium'
Selen nicht das erste Modul, das in meinem Code importiert wird, so scheint es, die andere richtig gebündelt werden, und das Problem ist nur mit Selen.
Ich habe versucht, einige Selen-Dateien in einem Ordner pynsist_pkgs, aber das funktioniert auch nicht. Hier sind diese Dateien, nicht sicher, ob sie die richtigen sind.
04/04/2017 02:25 PM 19,057 CHANGES
03/08/2017 07:00 AM 915 MANIFEST.in
04/04/2017 02:28 PM 7,864 PKG-INFO
04/04/2017 08:11 AM 5,719 README.rst
04/13/2017 04:50 PM <DIR> selenium
04/13/2017 04:50 PM <DIR> selenium.egg-info
04/04/2017 02:28 PM 230 setup.cfg
04/04/2017 02:26 PM 3,806 setup.py
6 File(s) 37,591 bytes
Hier Referenz meine installer.cfg Datei:
[Application]
name=Time Clocker
version=1.0
package:
script=timeClocker.py
console=true
[Python]
version=3.6.1
[Include]
packages = selenium
re
getpass
files = chromedriver.exe
Wenn jemand eine Idee hat, wäre das sehr zu schätzen!
Wenn du es mit Pynsist erstellst, solltest du einen Ordner 'build/nsis' bekommen. Siehst du dort nach, ob 'pkgs/selen/__ init __. Py' existiert? –
@ThomasK Es existiert, und es existiert auch im App-Ordner Programme nach der Installation. –
Ah, ich weiß. Sie verwenden die 'script =' Option in der Datei installer.cfg. Im Allgemeinen empfehle ich dringend die Verwendung der 'entry_point =' Option anstelle von Skript - damit geben Sie ihm eine Funktion zum Aufruf, um Ihre Anwendung zu starten. Siehe [die Dokumente] (http://pynsist.readthedocs.io/en/latest/cfgfile.html). Wenn Sie 'script =' verwenden, benötigen Sie am oberen Rand des Skripts einen Textbaustein, der auch in der Dokumentation enthalten ist. –