我希望为python 3脚本构建一个可执行文件,该脚本:
我在几个小时内尝试了几个工具(py2exe、pyinstaller、pynsist、cx_Freeze),但每次都失败了。我的“不那么糟糕”的结果是没有theano部件的pyinstaller (见下文)(所以没有脚本的一部分)。有人能帮我吗?
我有3个文件:2个'.py‘文件(一个带有主文件,另一个文件有大量定义)和一个'.ui’描述图形用户界面。该脚本进行一些统计分析,然后绘制一些曲线。
下面是我使用python3.5和cx_Freeze失败的一个例子(我认为这是我经历过的最先进的尝试,但我并不局限于这些工具):我将我的3个文件放在windows机器上的一个目录中,在这个目录中,所有东西都是痛苦地安装的(使用anaconda)。我添加了一个文件“setup.py”,用于cx_Freeze的文件是:
from cx_Freeze import setup, Executable
import os
os.environ['TCL_LIBRARY'] = r'C:\Program Files\Python 3.5\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Program Files\Python 3.5\tcl\tk8.6'
os.environ['PYQTGRAPH_QT_LIB'] = 'PyQt5'
setup(
name = ‘concentrationprofiles',
version = '0.1',
description = 'simple tool to simulate concentration profiles. preliminary',
author = 'SPH',
options = dict(
build_exe = dict(
packages = ['os','sys','numpy','theano','pymc3','pyqtgraph'],#omitting ‘scipy’ ! for some reason when I put ’scipy’ in this list the building fails, but it works without… probably the ‘import scipy’ inside the code is properly interpreted
includes = ['numpy.core._methods','numpy.lib.format',
'pyqtgraph.debug','pyqtgraph.functions',
'pyqtgraph.ThreadsafeTimer','cp_util_jul17'],
include_files = ['GUI_cprofiles_jul17.ui']
)),
executables = [Executable(
script='cprofiles_jul17.py',
base='Win32GUI',
targetName=‘concentprofiles.exe'
)]
)然后,使用这4个文件在anaconda提示符(相当于我所知的命令提示符)中执行命令行‘python’。经过大量的情节和几个小时的战斗,大楼看起来很好(没有错误信息的100行,直到结束),它创建了一个包含所有需要+ .exe的子目录的“build”目录。但是当我尝试运行这个.exe时,我什么也得不到:没有错误消息,没有控制台或窗口打开,没有快速打开关闭,也找不到日志…。只是什么都没有
我试图将‘base’选项从‘Win32GUI’更改为base=‘Console’和base=None。在这些情况下,我想有一个快速的控制台打开关闭,我无法阅读,因为我找不到日志。
以下是其他尝试中的其他几个坏结果:
如果您需要/需要,我可以添加到脚本文件的链接。
2017年8月18日上午9时20分更新
按照这个建议,我打开了一个关于pyinstaller的新帖子:build a .exe for Windows from a python 3 script importing theano with pyinstaller。
我邀请你回答那里的pyinstaller的问题。如果用py2exe或cx_freeze解决了我的问题,这个问题将被标记为已回答。
九月二日下午二时更新:
在经历了很多次之后,我最终成功地用pyinstaller构建了一个.exe。
不幸的是,我没有处理‘theano’模块(在我的情况下,‘pymc3’模块是必需的),我不得不修改.py文件并放弃部分应用程序。有人能帮我用‘theano’模块为windows 7+构建一个.exe吗?
发布于 2020-01-23 19:46:24
若要创建Python程序的可执行文件,请在CMD.First中运行以下命令,您需要安装pyinstaller,并使用以下命令:
pip install pyinstaller然后执行以下操作来创建Python程序的一个可执行文件,首先,转到您的程序路径(使用cd),其中包含Python (.py)文件,然后:
pyinstaller -w -F YourPyFilehttps://stackoverflow.com/questions/45734926
复制相似问题