2016-12-07 4 views
0

Я пытаюсь сделать исполняемый файл сценария с py2exe.AttributeError: объект «NoneType» не имеет атрибута «split»?

Вот мой setup.py код:

import cx_Freeze 

executables = [cx_Freeze.Executable("Email.py")] 

cx_Freeze.setup(
    name="Email", 
    options={"build_exe": {"packages":["pygame"], 
          "include_files":["aura.png"]}}, 
    executables = executables 

    ) 

И я бегу это от моего ЦМД и вот исполнение:

G:\Grade 12 Project>python setup.py build running build running build_exe creating directory build\exe.win32-2.7 copying C:\Python27\lib\site-packages\cx_Freeze\bases\Console.exe -> build\exe.win32-2.7\Email.exe copying C:\WINDOWS\SYSTEM32\python27.dll 
-> build\exe.win32-2.7\python27.dll Traceback (most recent call last): File "setup.py", line 9, in <module> 
    executables = executables File "C:\Python27\lib\site-packages\cx_Freeze\dist.py", line 349, in setup 
    distutils.core.setup(**attrs) File "C:\Python27\lib\distutils\core.py", line 151, in setup 
    dist.run_commands() File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands 
    self.run_command(cmd) File "C:\Python27\lib\distutils\dist.py", line 972, in run_command 
    cmd_obj.run() File "C:\Python27\lib\distutils\command\build.py", line 127, in run 
    self.run_command(cmd_name) File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command 
    self.distribution.run_command(command) File "C:\Python27\lib\distutils\dist.py", line 972, in run_command 
    cmd_obj.run() File "C:\Python27\lib\site-packages\cx_Freeze\dist.py", line 219, in run 
    freezer.Freeze() File "C:\Python27\lib\site-packages\cx_Freeze\freezer.py", line 623, in Freeze 
    self._FreezeExecutable(executable) File "C:\Python27\lib\site-packages\cx_Freeze\freezer.py", line 225, in 
_FreezeExecutable 
    self._AddVersionResource(exe) File "C:\Python27\lib\site-packages\cx_Freeze\freezer.py", line 165, in 
_AddVersionResource 
    trademarks = exe.trademarks) File "C:\Python27\lib\site-packages\cx_Freeze\freezer.py", line 759, in 
__init__ 
    parts = version.split(".") AttributeError: 'NoneType' object has no attribute 'split' 

Кроме того, в моей папке сборки, когда я бегу Email.exe, я получаю эта ошибка:

ImportError: No module named __startup__ 
+1

Я думаю, вы также должны указать номер версии. Он пытается разбить строку типа «x.x.x», но поскольку вы ее не предоставили, она бросает ошибку. – MYGz

+0

@amin, Это тривиальное редактирование. –

+0

@MohammadYusufGhazi, номер версии? –

ответ

1

Как @Mohammad Yusuf Ghazi сказал, вам нужно пройтипараметр в вызове настройки, например:

cx_Freeze.setup(
    name="Email", 
    options={ 
     "build_exe": {"packages":["pygame"], 
     "include_files":["aura.png"]}}, 
    executables = executables, 
    version='1.0.0' 
) 

Это не действует для вызова setup без номера версии.

Вы пытаетесь запустить это из командной строки или из графического интерфейса? Если из графического интерфейса вам может потребоваться позвонить Executable("Email.py", base="Win32GUI") в соответствии с the docs, чтобы он работал, чтобы мог быть проблемой. Но это помогло бы увидеть полную трассировку.

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