2017-05-31 5 views
1

Ich konvertiere mein Skript in Python zu einer ausführbaren Datei mit cx_Freeze, es funktioniert gut nach der Installation auf meinem Laptop (32 Bit Windows 7). Nach dem Kopieren der .msi-Datei und der Installation auf dem Laptop meines Freundes (64 Bit Windows 10) wird dieser Fehler angezeigt.Python - Cx_Freeze zeigt Fehler auf einem 64-Bit-Betriebssystem

Ich denke, der Fehler ist seitens meines Skriptes, wo ich 'win32com.client' verwendet habe. Wie kann ich mein System auf anderen Plattformen arbeiten lassen? Ich bin neu in dieser Art von Sachen, also hoffe ich, dass mir jemand helfen kann.

Error message

EDITED:

mein setup.py-Skript hier.

from cx_Freeze import setup, Executable 
import sys 
import os 

os.environ['TCL_LIBRARY'] = r'C:\Users\Admin\AppData\Local\Programs\Python\Python35-32\tcl\tcl8.6' 
os.environ['TK_LIBRARY'] = r'C:\Users\Admin\AppData\Local\Programs\Python\Python35-32\tcl\tk8.6' 

base = None 

if sys.platform == 'win32': 
    base = "Win32GUI" 

if sys.platform == 'win64': 
    base = "Win64GUI" 

executables = [Executable("nafd.py", base=base,shortcutName="Nafd Encoding System",shortcutDir="ProgramMenuFolder", icon = "ntc96.ico")] 


setup(
    name = "Nafd32", 
    options = {"build_exe":{"packages": ["time","win32com.client","tkinter","openpyxl","functools","os","datetime","re","requests","io","math"],"include_files":["newlistofcity.txt","newlistofbrgy.txt","newlistofbrgycode.txt","ntc96.ico","tcl86t.dll", "tk86t.dll"]}}, 
    version = "2.1.5", 
    description = "Network and Facilities Division Encoding System", 
    executables = executables 
)  
+0

Ich versuchte mit Pyinstaller in meinem Skript. Es funktionierte auf dem Laptop meines Freundes. Ich denke, das cx_freeze enthielt .dll nicht von dem win32com.client. – Usagi

Antwort

0

das Problem gelöst, die alle .dll aus dem dist-Ordner von pyinstaller in meinem setup.py erstellt, indem. Ich weiß nicht, warum der cx_Freeze die .dll Dateien nicht von win32com.client kopiert hat, aber pyinstaller hat alle kopiert.