“UserWarning:Duplicate name” - 尝试使用cx_Freeze创建.exe时

时间:2016-11-23 08:23:11

标签: python windows python-3.5 cx-freeze

我正在尝试将python脚本转换为可执行文件

设定:

  • Windows 7 Enterprise 64位
  • WinPython-64bit-3.5.2.3Qt5(Python 3.5.2 64位
  • cx_Freeze v.4.3.4(winPython附带)

要转换为exe的文件:

matplotlib_eg.py(示例文件),来自WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\Lib\site-packages\cx_Freeze\samples\matplotlib

Setup.py

(添加了os.environ ['TCL_LIBRARY']和os.environ ['TK_LIBRARY']行的原始setup.py文件)

import os
import sys
from cx_Freeze import setup, Executable


os.environ['TCL_LIBRARY'] = r"C:\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\tcl\tcl8.6" 
os.environ['TK_LIBRARY'] = r"C:\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\tcl\tk8.6" 


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

options = {
    'build_exe': {
        'excludes': ['Tkinter']  # Sometimes a little finetuning is needed
    }
}

executables = [
    Executable('matplotlib_eg.py', base=base)
]

setup(name='matplotlib_eg',
      version='0.1',
      description='Sample matplotlib script',
      executables=executables,
      options=options
      )

问题

运行python setup.py build时出现以下错误:

C:\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-packages\cx_Freeze\freezer.py:590: UserWarning: Duplicate name: 'importlib/__init__.pyc'
  outFile.writestr(zinfo, data)
C:\WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\lib\site-packages\cx_Freeze\freezer.py:590: UserWarning: Duplicate name: 'statsmodels/__init__.pyc'
  outFile.writestr(zinfo, data)

任何想法如何修复“重复名称” - 警告/错误?它生成一个可执行文件但可执行文件在运行时不执行任何操作。

1 个答案:

答案 0 :(得分:2)

你应该使用支持Python 3.5的cx_Freeze 5.0,它刚刚在上周发布。 matplotlib示例已更新并确认可在该版本中使用。