簡體   English   中英

如何將 Python 文件與多個數據文件轉換為.exe 格式?

[英]How can I convert Python file with data files more than one to .exe format?

我是新手,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 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}})

現在,我可以在 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

我的代碼中關於 Data.xlsx 文件的行如下:

df=pd.read_excel("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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM