我正在尝试将python脚本转换为可执行文件
matplotlib_eg.py(示例文件),来自WinPython-64bit-3.5.2.3Qt5\python-3.5.2.amd64\Lib\site-packages\cx_Freeze\samples\matplotlib
。
(添加了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)
任何想法如何修复“重复名称” - 警告/错误?它生成一个可执行文件但可执行文件在运行时不执行任何操作。
答案 0 :(得分:2)
你应该使用支持Python 3.5的cx_Freeze 5.0,它刚刚在上周发布。 matplotlib示例已更新并确认可在该版本中使用。