如何将需要导入模块的python脚本转换为Windows中的可执行文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将需要导入模块的python脚本转换为Windows中的可执行文件相关的知识,希望对你有一定的参考价值。
我正在尝试在Windows 7 Professional上编写一个程序,该程序将根据用户输入进行预测。该程序供未在计算机上安装python的其他用户使用。
为此,我使用Python 3.5.6在Spyder中编写了GUI脚本。我可以很好地执行代码,并且GUI可以正常工作,但是,当我尝试将其转换为其他人可以使用pyinstaller使用的可执行文件时,它将挂起。
我很确定这是由于脚本中引入了numpy和keras等外部模块。
如果我排除模块,则会生成可执行文件,但是,由于它没有运行所需的模块,因此它不起作用。
我在下面提供了一个非常简单的示例脚本,因为由于它是专有的,所以在这里我无法复制实际代码。
我编写了一个单独的脚本,在其中导入了所有必需的模块,认为这样做可能有所帮助,但没有帮助。下面列出了模块列表,不包括自定义脚本。
numpy大熊猫斯克莱恩凯拉斯tkinter
简单示例
以下setup.py文件和命令可以正常工作,使用户无需安装python即可运行一个简单的exe:
# setup.py:
input('Press ENTER to begin.')
num1 = float(input('Number 1 '))
num2 = float(input('Number 2 '))
print([num1,num2])
input('Press ENTER to exit.')
# Command in IPython Console of Spyder
!pyinstaller setup.py --onefile
以下setup.py文件和命令不起作用,而是挂起并且没有收到错误消息:
# setup.py:
import numpy as np
input('Press ENTER to begin.')
num1 = float(input('Number 1 '))
num2 = float(input('Number 2 '))
print(np.array([num1,num2]))
input('Press ENTER to exit.')
# Command in IPython Console of Spyder
!pyinstaller setup.py --onefile
以下setup.py文件和命令的确创建了exe,但是由于它需要numpy才能正常运行,因此它一打开便会关闭:
# setup.py:
import numpy as np
input('Press ENTER to begin.')
num1 = float(input('Number 1 '))
num2 = float(input('Number 2 '))
print(np.array([num1,num2]))
input('Press ENTER to exit.')
# Command in IPython Console of Spyder
!pyinstaller setup.py --onefile --exclude-module numpy
我真的很茫然,不知道该怎么办。我仔细阅读了文档和以前的问题,没有发现任何有用的方法,这些建议也未能解决问题,无论它是什么。
答案
使用Cx_freeze()模块将您的python文件转换为exe。
以上是关于如何将需要导入模块的python脚本转换为Windows中的可执行文件的主要内容,如果未能解决你的问题,请参考以下文章
如何将 typescript npm 模块导入语法转换为 ECMA2015 模块导入语法
如何将MYSQL中数据导出到EXCEL表中 python 脚本?