Есть ли способ сохранить результат, созданный во время установки программы, установленной с помощью setup.py? Я хочу, чтобы написать это в сам сценарий setup.py, а не в терминале, когда я запустить setup.pyСохранение журнала установки, сгенерированного с помощью setup.py
3
A
ответ
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())
0
Вы можете попробовать следующее в терминале или PowerShell
pyhton.exe setup.py >> logfile.txt
это должно Append все консольный вывод в LogFile.txt
Этот почти работает. Он пропустил предупреждение компилятора при установке mysql-python в виртуальную среду python 2.7. – cstrutton