Nuitka не компилируется с именем файла, содержащим эмодзи

@Haxiel Вы попали в самую точку. Мое понимание chroot лучше, чем то, что было, когда я начинал это приключение, но все еще не совсем там, где, как мне кажется, оно должно быть. Выход из chroot дал мне возможность делать изменения более постоянными, не говоря уже о заметном увеличении скорости.

Еще одно предостережение, которое я хотел бы сделать для других, заключается в том, что если у вас есть сценарии, основанные на использовании программ, установленных через Anaconda, вам нужно провести некоторое тестирование, чтобы увидеть, работают ли эти программы. chroot сломан. Например, я не смог использовать git, потому что программа не смогла найти каталог шаблонов по умолчанию. Даже после того, как я указал это через глобальные конфигурации, все еще оставались все другие ненадежные проблемы, для которых не было очевидного решения. Сокращение рабочих процессов моих скриптов до основ действительно имело большое значение для создания этой работы.

0
12.04.2021, 15:12
1 ответ

Эмоджи недопустимы в именах модулей Python, поэтому неудивительно, что nuitka неправильно их обрабатывает:https://docs.python.org/3/reference/simple_stmts.html#the-import-statementговорит, что имя модуля является повторением идентификаторов:

module ::= (identifier ".")* identifier

, где идентификатор определяется как

identifier   ::=  xid_start xid_continue*
id_start     ::=  <all characters in general categories Lu, Ll, Lt, Lm, Lo, Nl, the underscore, and characters with the Other_ID_Start property>
id_continue  ::=  <all characters in id_start, plus characters in the categories Mn, Mc, Nd, Pc and others with the Other_ID_Continue property>
xid_start    ::=  <all characters in id_start whose NFKC normalization is in "id_start xid_continue*">
xid_continue ::=  <all characters in id_continue whose NFKC normalization is in "id_continue*">

The Unicode category codes mentioned above stand for:

    Lu - uppercase letters

    Ll - lowercase letters

    Lt - titlecase letters

    Lm - modifier letters

    Lo - other letters

    Nl - letter numbers

    Mn - nonspacing marks

    Mc - spacing combining marks

    Nd - decimal numbers

    Pc - connector punctuations

    Other_ID_Start - explicit list of characters in PropList.txt to support backwards compatibility

    Other_ID_Continue - likewise

(https://docs.python.org/3/reference/lexical_analysis.html#grammar-token-identifier). Ни ⚡, ни в этих категориях юникода, они находятся в категории «Символ, другое».

1
28.04.2021, 22:53

Теги

Похожие вопросы