python脚本的EXE文件

时间:2016-08-21 12:55:31

标签: windows python-2.7 py2exe

我正在使用python 2.7和py2exe来尝试为我的脚本创建一个exe文件。但它不是那么好..我的文件工作正常,直到我添加py2exe命令我在这里做错了什么?我需要知道如何编写setup函数并调用它,以便python知道创建和EXE文件而不仅仅是编译的.py。此外,还尝试使用Windows操作系统。

from time import strftime
import os.path
# setup.py
import py2exe

setup(console=["LogFile.py"])


def main():
    getTime()

def getTime():
    time = strftime("%Y-%m-%d %I:%M:%S")
    printTime(time)

def printTime(time):
    savePath = "C:\Users\Nicholas\Documents"
    logFile = "LogInLog.txt"
    files = open(os.path.join(savePath, logFile), "a+")
    openPosition = files.tell()
    files.write("A LogIn occured.")
    files.write(time)
    files.seek(openPosition)
    print(files.read())
    files.close()



main()

2 个答案:

答案 0 :(得分:1)

它不起作用

首先,从脚本中删除setup行。安装脚本是一个不同的脚本。您的脚本已修复:

from time import strftime
import os.path

def main():
    getTime()

def getTime():
    time = strftime("%Y-%m-%d %I:%M:%S")
    printTime(time)

def printTime(time):
    savePath = r"C:\Users\Nicholas\Documents"
    logFile = "LogInLog.txt"
    files = open(os.path.join(savePath, logFile), "a+")
    openPosition = files.tell()
    files.write("A LogIn occured.")
    files.write(time)
    files.seek(openPosition)
    print(files.read())
    files.close()

然后创建一个名为setup.py

的文件
import py2exe
from distutils.core import setup
setup(console=["LogFile.py"])

然后键入(在命令提示符下, 不在python解释器 中):

python setup.py py2exe

它创建了可执行文件& dist subdir中的辅助文件

之后转到dist

C:\DATA\jff\data\python\stackoverflow\dist>LogFile.exe
Traceback (most recent call last):
  File "LogFile.py", line 25, in <module>
  File "LogFile.py", line 6, in main
  File "LogFile.py", line 10, in getTime
  File "LogFile.py", line 15, in printTime
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Nicholas\\Documents\\LogInLog.txt'

崩溃,正常我没有你的目录:它有效!!

答案 1 :(得分:1)

看看这个py2exe Tutorial

你的错误是:     1.错过了from distutils.core import setup     2.没有创建新文件来使用py2exe。

您需要:     1.删​​除import py2exesetup(console=["LogFile.py"])     2.创建新文件“psetup.py”,代码如下:

from distutils.core import setup
import py2exe
setup(console=["your_code_name.py"])