2015-01-04 66 views
4

我爲「Python2.7」安裝了「py2exe」,製作了一個「Hello World」程序,使用py2exe構建了它的exe文件,並且完美運行。使用py2exe構建python代碼的可執行文件

現在,當我嘗試構建我的實際代碼的exe文件時,創建的文件夾和exe也沒有任何問題創建,但是當我啓動exe的控制檯出現不到一秒鐘,並關閉。

在這種情況下和測試程序唯一的區別是我有多個代碼文件在這種情況下,並在其中一些我輸入了幾個文件/庫以及 以下是在不同的文件中傳播導入命令:

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']) 

我被困在這個問題,所以任何和各種幫助將不勝感激。

其他信息: 我使用: Windows7中, Python的2.7-32位

更新: 我發現在堆棧溢出問題的建議對類似的問題建議通過命令提示符下運行EXE 。我通過命令提示符運行該程序,並向我顯示錯誤

Import error : No module named bs4 
+1

請看這裏:http://stackoverflow.com/questions/21167026/py2exe-doesnt-find-bs4 – 2015-01-06 15:46:38

+0

包有問題,當我重新安裝它們時出現問題。謝謝 – 2015-01-09 23:09:36

回答

3

我能夠成功構建一個可執行的exe文件。以下是我採取的步驟,我希望這些步驟對未來面臨這些問題的其他人有幫助。

1)啓動程序使用命令提示符,以便我可以查看錯誤。

2)把我所有的代碼(函數,類)放在主文件中。

3)重新安裝最新版本的PIP的

4)卸載並重新安裝BeautifulSoup4使用PIP

pip uninstall BeautifulSoup4 
pip install BeautifulSoup4 

5)現在 「jdcal」 開始給問題(安裝openpyxl當它被安裝)

6)使用pip卸載openpyxl

7)使用pip卸載jdcal

8)使用pip重新安裝openpyxl(它會自動安裝jdcal)

9)現在EXE運行完美。

1

我的項目在jdcal上也失敗了。我是成功的在B-阿巴斯的剛剛過去的步驟:)卸載openpyxl使用PIP
(Win7上

6:pythonXX \腳本\ PIP卸載openpyxl)

7)卸載jdcal使用PIP

8)使用pip重新安裝openpyxl(它會自動安裝jdcal)

9)現在,exe可以完美運行。

相關問題