2014-12-29 2 views
0

В mainwindow.py файле я есть использовать эту линию,Ошибка в исполняемый файл с ctypes с py2exe

ctypes.windll.LoadLibrary("ptzdll/PTZ.dll") 
from PTZ import PTZDevice, PTZType 

Когда я исполняю mainwindow.py файл с терминала (питона mainwindow.py), он работает, но когда я дважды щелкните на исполняемый файл, сделанные py2exe, он дает ошибку:

**No module named PTZ.** 

Мой код setup.py файл:

from distutils.core import setup 
from glob import glob 
import py2exe 

from distutils.filelist import findall 
import matplotlib 
import cv2 
import numpy 
import tkMessageBox 
import easygui 
import os 



datafiles = [ 
     ("resources", glob('resources/*.*')) 
] 


datafiles.append(('ptzdll', [ 
       'PTZ.dll', 
       'DirectShowLib-2005.dll' 
       ]))  

setup(
     console=['mainwindow.py'], 
     #'file_resources': [bitmap_string[:-1]], 

     options = { 
        'py2exe': { 
        'packages' : ['matplotlib','ctypes','_ctypes'], 
        'dll_excludes': ['libgdk-win32-2.0-0.dll', 
            'libgobject-2.0-0.dll', 
            'libgdk_pixbuf-2.0-0.dll'], 
        r'includes': [r'scipy.sparse.csgraph._validation', 
            r'scipy.special._ufuncs_cxx'] 
           } 
        }, 
     zipfile = None, 
     windows = [{ 
        "script":"mainwindow.py", 
        "icon_resources":[(1, "tfr.ico")], 

        }], 
     data_files = datafiles, 
     #data_files = datafiles 
     ) 
+0

Скопируйте 'PTZ.dll' в' C: \ Python27 \ DLLs' или в каталог, в котором вы установили python. Затем повторите попытку. –

+0

Спасибо. Я пробовал ваше решение, но та же ошибка. – jatin

+0

Есть ли файл ptzdll/PTZ.dll в том месте, где создается exe? – Trilarion

ответ

0

PTZ.dll НИКАКОГО t в папке * \ dist \ ptzdll, но в * \ dist \ library.zip \ ptzdll \ PTZ.dll.

Смежные вопросы