如何将包含多个数据文件的Python文件转换为.exe格式?
我是新来的,熟悉Python和编程。我试图编写需要一个.docx、一个.xlsx和一个图像文件才能正常工作的代码。当使用py2exe将其转换为.exe格式时,出现了一些问题,我的程序无法打开!我刚刚更改了setup.py文件,如下所示:如何将包含多个数据文件的Python文件转换为.exe格式?,python,py2exe,setup.py,Python,Py2exe,Setup.py,我是新来的,熟悉Python和编程。我试图编写需要一个.docx、一个.xlsx和一个图像文件才能正常工作的代码。当使用py2exe将其转换为.exe格式时,出现了一些问题,我的程序无法打开!我刚刚更改了setup.py文件,如下所示: import os from distutils.core import setup import py2exe import tkinter as tk from tkinter import ttk import sys import os import
import os
from distutils.core import setup
import py2exe
import tkinter as tk
from tkinter import ttk
import sys
import os
import pandas as pd
from docx import Document
from docx.shared import Pt
from docx.enum.text import WD_ALIGN_PARAGRAPH
Mydata_files = [('Data.docx', ['C:/Users/Murat/Desktop/Combobox/Data.docx']),
('Data.xlsx', ['C:/Users/Murat/Desktop/Combobox/Data.xlsx']),
('Logo.gif', ['C:/Users/Murat/Desktop/Combobox/Logo.gif'])]
setup(console=['Combobox.py'],
data_files = Mydata_files,
options={"py2exe":{"includes": ["lxml._elementpath"], "unbuffered": True, "optimize": 2}})
df=pd.read_excel("Data.xlsx")
现在,我可以在dist文件夹中查看我的数据文件,但我的代码引发权限错误:
Traceback (most recent call last):
File "Combobox.py", line 94, in <module>
File "pandas\util\_decorators.pyc", line 299, in wrapper
File "pandas\io\excel\_base.pyc", line 336, in read_excel
File "pandas\io\excel\_base.pyc", line 1057, in _init_
File "pandas\io\excel\_base.pyc", line 938, in inspect_excel_format
File "pandas\io\common.pyc", line 651, in get_handle
PermissionError: [Errno 13] Permission denied: 'Data.xlsx
您应该做的是在结束时使用input()命令,在关闭控制台之前等待用户 另外,请在编写脚本时始终使用main,以避免在导入时出现奇怪的行为
if __name__ == '__main__': #Use dunder method as a best practice
Mydata_files = []
for files in os.listdir("C:/Users/Murat/Desktop/Combobox/"):
f1 = "C:/Users/Murat/Desktop/Combobox/" + files
if os.path.isfile(f1):
f2 = 'images', [f1]
Mydata_files.append(f2)
setup(
console=['trypyglet.py.py'],
data_files=Mydata_files,
options={
"py2exe": {
"unbuffered": True,
"optimize": 2
}
}
)
input = input() # Use input to wait for the user
谢谢你,EldinAyal!你是对的,这是我的错误,但没有改变。谢谢你,系统。超速!在更正了我的错误(“trypyglet.py.py”必须是“Combobox.py”)之后,我尝试了您的建议,但仍然给出了以下错误:keyrerror:“lxml.etree”您确定正确安装了lxml.etree吗?