Найти - Пользователи
Полная версия: Ошибка выполнения компилированного скрипта
Начало » Python для экспертов » Ошибка выполнения компилированного скрипта
1
vval_s
Всем привет.

Имею такой скрипт, просто для проверки работы скомпиленных скриптов на кластере

 #! /usr/bin/ python3
# -*- coding: utf-8 -*-
def print_hi(name):
    # Use a breakpoint in the code line below to debug your script.
    print(f'Hi, {name}')  # Press Ctrl+F8 to toggle the breakpoint.
# Press the green button in the gutter to run the script.
if __name__ == '__main__':
    print_hi('PyCharm')

компилю его в pyinstaller (ver 4.6)

При выполнении скомпилированного скрипта получаю ошибку

 python3 ./dist/main
  File "./dist/main", line 1
SyntaxError: Non-UTF-8 code starting with '\xaf' in file ./dist/main on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

Почему так ? я Ведь указал кодировку в начале скрипта, почему он на нее ругается ?
py.user.next
Попробуй вот этот скомпилировать
#!/usr/bin/env python3

def print_hi(name):
# Use a breakpoint in the code line below to debug your script.
print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint.

# Press the green button in the gutter to run the script.
if __name__ == '__main__':
print_hi('PyCharm')
Сначала сохрани его, запусти его без компиляции.

Также убедись, что твой текстовый редактор сохраняет файл в utf-8 и при этом не использует BOM.
vval_s
py.user.next
Попробуй вот этот скомпилировать
Да пробовал так. Релультат тот же.
Только что запустил не компиленный - отработало
Скомпилил.
 python3 test_compl
File "test_compl", line 1
SyntaxError: Non-UTF-8 code starting with '\xaf' in file test_compl on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
Может быть в окружении дело ? только вот х.з. что может влиять на это (
py.user.next
Сделай новую директорию.
Там сделай файл script.py .
В файл script.py запиши ровно одну строку
print(1, 'Hello', sep='x')
Запусти его без компиляции через python script.py
Скомпилируй его.
vval_s
py.user.next
Сделай новую директорию.Там сделай файл script.py .В файл script.py запиши ровно одну строку
блин проблема была в том что я указывал интерпретатор перед запуском скрипта. а это ж скомпиленный скрипт, по сути exeшник.
Вобщем вот так
 python3 <имя_скрипта>
не работает, а вот так
 ./<имя скрипта>
работает ))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB