使用 py2exe 为 python 代码构建可执行文件

Building an executable file for python code using py2exe

我为 "Python2.7" 安装了 "py2exe",制作了一个 "Hello World" 程序,使用 py2exe 构建了它的 exe,并且运行良好。

现在,当我尝试构建我的实际代码的 exe 时,文件夹被创建,exe 也被创建,没有任何问题,但是当我启动 exe 时,控制台出现不到一秒钟就关闭了。

在这种情况下和测试程序的唯一区别是在这种情况下我有多个代码文件,在其中一些我也导入了一些 files/libraries 以下是分布在不同文件中的导入命令:

from bs4 import BeautifulSoup
import time
import requests
from RdWrtCls import *
import os
import openpyxl 

最初我的源代码是:

from distutils.core import setup
import py2exe
from glob import glob
setup (console =['Crawler.py'])

当这不起作用时,我做了一些研究,发现有时会出现缺少 dll 的问题,所以我将代码修改为:

from distutils.core import setup
import py2exe
from glob import glob
data_files = [("Microsoft.VC100.CRT", glob(r'C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\redist\x86\Microsoft.VC100.CRT\*.*'))]

setup(data_files =data_files,console =['Crawler.py'])

我被困在这个问题上,所以非常感谢任何和各种帮助。

其他信息: 我在用: Windows 7的, Python 2.7-32 位

更新: 我在一个关于堆栈溢出的问题中找到了一个建议,该建议针对类似的问题,建议通过命令提示符运行 EXE。我通过命令提示符运行程序并显示错误

Import error : No module named bs4

我能够成功构建一个可运行的 exe。以下是我采取的步骤,希望它们对将来面临这些问题的其他人有所帮助。

1) 使用命令提示符启动程序以便查看错误。

2) 将我所有的代码(函数,类)放在主文件中。

3) 重新安装了最新版本的 pip

4) 使用 pip

卸载并重新安装 BeautifulSoup4
pip uninstall BeautifulSoup4
pip install  BeautifulSoup4

5)现在"jdcal"开始出现问题(安装openpyxl时安装)

6) 使用 pip

卸载了 openpyxl

7) 使用 pip

卸载了 jdcal

8) 使用 pip 重新安装了 openpyxl(它自动安装了 jdcal)

9) 现在exe运行完美

我的项目在jdcal也失败了。我在 B-Abbasi 的最后几步就成功了:

6) 使用 pip
卸载了 openpyxl (在 Win7 上:pythonXX\Scripts\pip 卸载 openpyxl)

7) 使用 pip

卸载了 jdcal

8) 使用 pip 重新安装了 openpyxl(它自动安装了 jdcal)

9) 现在exe运行完美