[英]Cannot run generated .exe with py2exe
我正在嘗試使用py2exe為生成excel的python腳本生成aa .exe。 這只是一個示例代碼。 我正在將值100寫入單元格,並使用openpyxl將excel保存到Users Desktop。 當我直接運行它時,這工作得很好。
import openpyxl
import getpass
wb = openpyxl.Workbook()
ws = wb.create_sheet('test')
ws.cell(row=1, column=1, value=100)
username = getpass.getuser()
wb.save('C:\\Users\\{}\\create_exe\\gen.xlsx'.format(username))
print 'Done'
當我使用py2exe進行編譯時,它也可以正常編譯。 當我運行生成的.exe文件時出現問題。 我得到一個回報,說ImportError: No module named jdcal
setup.py文件如下
import py2exe
from distutils.core import setup
packages = ["openpyxl", "openpyxl.workbook", "xml.etree", "xml"]
excludes = []
setup(console=['test_program.py'],
options={"py2exe": {"excludes": excludes,
"packages": packages}}
)
我已經試過了
我希望有人可以幫助我。
提前致謝
編輯:在dist文件夾中生成的文件如下(openpyxl在這里看不到,我不知道為什么)
嘗試在setup.py
中手動將其setup.py
在packages = ["openpyxl", "openpyxl.workbook", "xml.etree", "xml"]
因此應該是: packages = ["openpyxl", "openpyxl.workbook", "xml.etree", "xml", "jdcal"]
我個人很幸運,讓py2exe檢測到所需的模塊。 我從未嘗試過指定每個必要的模塊。 嘗試這個:
from distutils.core import setup
import py2exe
setup(console=['test_program.py'])
這應該從命令行運行為
python setup.py py2exe
py2exe在dist目錄中輸出.dll文件,這些文件必須位於運行.exe文件的目錄中。 如果只需要一個.exe文件而沒有.dll文件,請嘗試以下操作:
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
options = {'py2exe': {'bundle_files': 1, 'compressed': True}},
console = [{'script': "test_program.py"}],
zipfile = None,
)
這應該從命令行運行為
python setup.py
我使用cx_freeze ,從來沒有任何問題。 這是cx_freeze文件的setup.py
from cx_Freeze import setup, Executable
build_exe_options = {"excludes": ["html5lib"],"optimize":2}
setup(name = "App Name" ,
version = "1.0.0.0" ,
options = {"build_exe": build_exe_options},
description = "" ,
executables = [Executable("FooBar.py")])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.