Всем привет! Есть 1 готовый скрипт Python, хочу его собрать в exe, например через cx_Freeze или Pyinstaller. Но в обоих случаях вылезает ошибка при сборке IndexError: tuple index out of range, причем если запускать скрипт из командной строки, то все робит норм. Вот собственно сам скрипт:
#скрипт заменяет цифру на следующую в конце, если в конце буква- добавляет цифру 1
inp = open ('C:\\inp.txt', 'r')
out = open ('C:\\out.txt', 'w')
#тут читаю файл построчно
for line in inp:
# Удаляем символы переноса строки с конца
line = line.rstrip('
')
# Записываем всю строку, кроме последнего символа
out.write(line[:-1])
# Проверяем последний символ
if line[-1] == '1':
out.write('2')
elif line[-1] == '2':
out.write('3')
elif line[-1] == '3':
out.write('4')
elif line[-1] == '4':
out.write('5')
elif line[-1] == '5':
out.write('6')
elif line[-1] == '6':
out.write('7')
elif line[-1] == '7':
out.write('8')
elif line[-1] == '8':
out.write('9')
elif line[-1] == '9':
out.write('0')
else:
out.write(line[-1]+str('1'))
# Добавляем перенос строки
out.write('
')
inp.close()
out.close()
print ('Работа завершена. Изменено '+ str(sum(1 for line in open('C:\\out.txt', 'r'))) + str(' строк'))
1055 INFO: PyInstaller: 3.2.1
1056 INFO: Python: 3.6.1
1057 INFO: Platform: Windows-7-6.1.7601-SP1
1060 INFO: wrote C:\Windows\system32\pr.spec
1063 INFO: UPX is not available.
1066 INFO: Extending PYTHONPATH with paths
['C:\\Users\\User\\Desktop\\Python', 'C:\\Windows\\system32']
1068 INFO: checking Analysis
1068 INFO: Building Analysis because out00-Analysis.toc is non existent
1069 INFO: Initializing module dependency graph...
1077 INFO: Initializing module graph hooks...
1144 INFO: Analyzing base_library.zip ...
Traceback (most recent call last):
File "C:\Python3\Scripts\pyinstaller-script.py", line 11, in
Ответ
Внимание: ответ более не актуален (как и вопрос), ныне Python 3.6 поддерживается.
1055 INFO: PyInstaller: 3.2.1
1056 INFO: Python: 3.6.1
У вас слишком новый Python (для PyInstaller).
PyInstaller на момент написания вопроса и этого ответа не поддерживает Python 3.6 и имеет известные проблемы совместимости с ним (тикет про это на GitHub).
Самая свежая поддерживаемая версия Python на данный момент — 3.5
Поэтому выбор у вас сейчас (если придерживаться стабильных релизов):
использовать другую версию Python
отказаться от PyInstaller
Комментариев нет:
Отправить комментарий