保存setup.py生成的安装日志

时间:2014-07-25 13:45:05

标签: python distutils setup.py

有没有办法保存使用setup.py安装程序时生成的输出?我想将它写入setup.py脚本本身,而不是在运行setup.py

时在终端中

2 个答案:

答案 0 :(得分:2)

在调用setup()函数之前,将sys.stdout(和sys.stderr重定向到日志文件。)

确保将stdout(和stderr)恢复为默认参考,并将日志文件的内容打印到stdout

您的setup.py应如下所示:

from setuptools import setup, find_packages
import sys

stdout = sys.stdout
stderr = sys.stderr

log_file = open('log', 'w')
sys.stdout = log_file
sys.stderr = log_file

setup ( 
        ...  ,
        ...
      )

# Make sure to close the log file. You could also use with to surround the setup()
# To ensure log file is closed in the event of exception.
log_file.close()

sys.stdout = stdout
sys.stderr = stderr

with open('log', 'r') as log_file:
    sys.stdout.write(log_file.read())

答案 1 :(得分:1)

您可以在终端或powershell

中尝试以下操作
pyhton.exe setup.py >> logfile.txt

这应该将所有控制台输出附加到logfile.txt

相关问题