Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Py2Exe生成日志文件_Python_Logging_Py2exe_Distutils - Fatal编程技术网

Python Py2Exe生成日志文件

Python Py2Exe生成日志文件,python,logging,py2exe,distutils,Python,Logging,Py2exe,Distutils,我的问题是运行时,py2exe正在生成一个日志文件。它不会生成,因为我在运行程序时出错。在日志文件中有标准控制台打印输出 我如何做到不生成日志文件 这里是我的py2exe设置代码: from distutils.core import setup import py2exe, sys, os sys.argv.append('py2exe') setup( options = {'py2exe': {'bundle_files': 1, 'compressed': True}},

我的问题是运行时,
py2exe
正在生成一个日志文件。它不会生成,因为我在运行程序时出错。在日志文件中有标准控制台打印输出

我如何做到不生成日志文件

这里是我的py2exe设置代码:

from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
    options = {'py2exe': {'bundle_files': 1, 'compressed': True}},
    windows = [{'script': "run.py"}],
    zipfile = None
)

在GUI应用程序中,Py2exe将
sys.stderr
重定向到日志文件,并将
sys.stdout
重定向到忽略所有写入的对象。要避免日志文件,请在主模块顶部的程序中执行此操作:

import sys
sys.stderr = sys.stdout

或者,让py2exe使用
console
关键字而不是
setup.py中的
windows
来创建一个控制台应用程序。您可能可以删除该文件的内容!它可以工作,但您必须查看您的程序是否需要在那里定义某些函数,然后它可能会出错

在聊天时,您说您想使用Python 3,但Py2Exe不存在。。。你为什么不使用cx\U冻结?它生成一个bin和一个.exe文件。您可以使用InnoSetup进行安装,您的游戏非常完美

您还应该包括错误回溯。没有错误!我只想禁用日志文件…您可以在脚本中设置
sys.stdout=os.devnull
,或者通过命令行重定向执行等效操作。不工作。我将您的代码设置为文件的开头。。。它仍然会生成一个日志文件:[I 13-12-12 18:40:12]>>>在127.0.0.1:21上启动FTP服务器,pid=2508尝试使用
sys.stderr=sys.stdout=os.devnull
。(还请注意,要让我知道您的回复,您需要在您的评论中的某个地方添加@martineau)。在安装文件或我的程序中?一切都不起作用。我可以从py2exe中删除该文件吗?(boot_common.py)?@user3096402根据boot_common.py中的注释,一些重定向是必要的,以避免写入默认stderr最终导致的异常。我必须做什么?