【问题标题】:How to convert a python script that requires imported modules into an executable file in Windows如何将需要导入模块的python脚本转换为Windows中的可执行文件
【发布时间】:2019-08-17 08:24:23
【问题描述】:

我正在尝试在 Windows 7 Professional 上编写一个程序,该程序将根据用户输入进行预测。该程序旨在供其他计算机上未安装 python 的用户使用。

为了做到这一点,我使用 Python 3.5.6 在 Spyder 中编写了一个 GUI 脚本。我可以很好地执行代码并且 GUI 运行良好,但是,当我尝试将其转换为其他人可以使用 pyinstaller 使用的可执行文件时,它会挂起。

我很确定这是由于在脚本中导入了外部模块,例如 numpy 和 keras。

如果我排除模块,则生成可执行文件,但是,它不起作用,因为它没有运行所需的模块。

我在下面提供了一个非常简单的示例脚本,由于它是专有的,因此我无法在此处重现我的实际代码。

我编写了一个单独的脚本,在其中导入了所有必要的模块,我认为这可能会有所帮助,但它没有。模块列表如下,不包括自定义脚本。

numpy 熊猫 sklearn 喀拉斯 tkinter

简单示例

以下 setup.py 文件和命令起作用,制作一个简单的 exe,用户无需安装 python 即可运行:

# 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

我真的很茫然,不知道该怎么办。我查看了文档和以前的问题,但没有发现任何有用的东西,而且无论是什么问题,这些建议都没有解决问题。

【问题讨论】:

    标签: windows-7 exe python-3.5 pyinstaller spyder


    【解决方案1】:

    使用Cx_freeze()模块将你的python文件转换为exe

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-01
      • 2013-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-09
      相关资源
      最近更新 更多