Я пытаюсь сделать свои сценарии исполняемыми, чтобы можно было отправить их своему коллеге. Я использую PyInstaller.
pyinstaller --onefile main.py
При этом создаются две папки. Когда я открываю dist/main.exe, что-то не так, но я не знаю что, потому что файл журнала не создается. Я не могу понять, почему. Когда я запускаю main.py, файл журнала создается немедленно.
Не могли бы вы это проверить?
# coding=utf-8
from __future__ import print_function
import csv
import os
import time
import logging
import sys
import traceback
from spider import is_connected
from database import Database
filename = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'log.log')
logging.basicConfig(filename=filename, level=logging.INFO, filemode='w')
logger = logging.getLogger(__name__)
def printProgressBar(iteration, total, prefix='', suffix='', decimals=1, length=100, fill=u'█'):
"""
Call in a loop to create terminal progress bar
@params:
iteration - Required : current iteration (Int)
total - Required : total iterations (Int)
prefix - Optional : prefix string (Str)
suffix - Optional : suffix string (Str)
decimals - Optional : positive number of decimals in percent complete (Int)
length - Optional : character length of bar (Int)
fill - Optional : bar fill character (Str)
"""
percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / float(total)))
filledLength = int(length * iteration // total)
bar = fill * filledLength + '-' * (length - filledLength)
print('\r%s |%s| %s%% %s' % (prefix, bar, percent, suffix))
# Print New Line on Complete
if iteration == total:
print()
if __name__ == '__main__':
print(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'log.log'))
logger.info('Download started...')
connected = is_connected()
logger.info('Checking connection... {}'.format(connected))
if not connected:
logger.info('Program closed - no connection...')
sys.exit()
db = Database()
if not os.path.isdir("output"):
print('Nenasla sa zlozka "output"...')
logger.info('No output folder')
input()
sys.exit()
if not os.path.isdir("csv"):
print('Nenasla sa zlozka "csv"...')
logger.info('No csv folder')
input()
sys.exit()
print('Spracovavanie suboru "input.csv"...')
filename = 'output_{}.csv'.format(time.strftime("%Y%m%d-%H%M%S"))
try:
with open('csv/input.csv') as f:
with open('output/'+filename, 'wb') as o:
reader = csv.DictReader(f)
reader.fieldnames.append('VAT added')
writer = csv.DictWriter(o, fieldnames=reader.fieldnames)
writer.writeheader()
r_list = list(reader)
rows = len(r_list)
for n, line in enumerate(r_list):
if n>0:
printProgressBar(n,rows)
code = line['Lot number'].strip()
vat = db.get_or_set_vat(code)
logger.info('outer vat')
logger.info(vat)
logger.info('YES' if vat else 'NO' if vat == False else 'UNKNOWN')
line['VAT added'] = 'YES' if vat else 'NO' if vat == False else 'UNKNOWN'
writer.writerow(line)
except IOError as e:
print(e)
logger.info('IOError')
logger.info(traceback.format_exc())
print('Chyba: zrejme nenaslo subor "input.csv" - skontrolujte nazov suboru v zlozke csv')
input()
sys.exit()
print()
print('Koniec stahovania - {}'.format(filename))
input()
Подробнее здесь: https://stackoverflow.com/questions/437 ... e-log-file
EXE-файл PyInstaller не создает файл журнала ⇐ Python
Программы на Python
-
Anonymous
1764532930
Anonymous
Я пытаюсь сделать свои сценарии исполняемыми, чтобы можно было отправить их своему коллеге. Я использую PyInstaller.
pyinstaller --onefile main.py
При этом создаются две папки. Когда я открываю dist/main.exe, что-то не так, но я не знаю что, потому что файл журнала не создается. Я не могу понять, почему. Когда я запускаю main.py, файл журнала создается немедленно.
Не могли бы вы это проверить?
# coding=utf-8
from __future__ import print_function
import csv
import os
import time
import logging
import sys
import traceback
from spider import is_connected
from database import Database
filename = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'log.log')
logging.basicConfig(filename=filename, level=logging.INFO, filemode='w')
logger = logging.getLogger(__name__)
def printProgressBar(iteration, total, prefix='', suffix='', decimals=1, length=100, fill=u'█'):
"""
Call in a loop to create terminal progress bar
@params:
iteration - Required : current iteration (Int)
total - Required : total iterations (Int)
prefix - Optional : prefix string (Str)
suffix - Optional : suffix string (Str)
decimals - Optional : positive number of decimals in percent complete (Int)
length - Optional : character length of bar (Int)
fill - Optional : bar fill character (Str)
"""
percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / float(total)))
filledLength = int(length * iteration // total)
bar = fill * filledLength + '-' * (length - filledLength)
print('\r%s |%s| %s%% %s' % (prefix, bar, percent, suffix))
# Print New Line on Complete
if iteration == total:
print()
if __name__ == '__main__':
print(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'log.log'))
logger.info('Download started...')
connected = is_connected()
logger.info('Checking connection... {}'.format(connected))
if not connected:
logger.info('Program closed - no connection...')
sys.exit()
db = Database()
if not os.path.isdir("output"):
print('Nenasla sa zlozka "output"...')
logger.info('No output folder')
input()
sys.exit()
if not os.path.isdir("csv"):
print('Nenasla sa zlozka "csv"...')
logger.info('No csv folder')
input()
sys.exit()
print('Spracovavanie suboru "input.csv"...')
filename = 'output_{}.csv'.format(time.strftime("%Y%m%d-%H%M%S"))
try:
with open('csv/input.csv') as f:
with open('output/'+filename, 'wb') as o:
reader = csv.DictReader(f)
reader.fieldnames.append('VAT added')
writer = csv.DictWriter(o, fieldnames=reader.fieldnames)
writer.writeheader()
r_list = list(reader)
rows = len(r_list)
for n, line in enumerate(r_list):
if n>0:
printProgressBar(n,rows)
code = line['Lot number'].strip()
vat = db.get_or_set_vat(code)
logger.info('outer vat')
logger.info(vat)
logger.info('YES' if vat else 'NO' if vat == False else 'UNKNOWN')
line['VAT added'] = 'YES' if vat else 'NO' if vat == False else 'UNKNOWN'
writer.writerow(line)
except IOError as e:
print(e)
logger.info('IOError')
logger.info(traceback.format_exc())
print('Chyba: zrejme nenaslo subor "input.csv" - skontrolujte nazov suboru v zlozke csv')
input()
sys.exit()
print()
print('Koniec stahovania - {}'.format(filename))
input()
Подробнее здесь: [url]https://stackoverflow.com/questions/43784468/pyinstaller-exe-file-doesnt-create-log-file[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия