Как подготовить исходный код штрих-кода и toml для предоставления python3.11 данных настройки?Linux

Ответить
Anonymous
 Как подготовить исходный код штрих-кода и toml для предоставления python3.11 данных настройки?

Сообщение Anonymous »

Код: Выделить всё

hatch build pyproject.toml
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/gort/Saber/lib/python3.11/site-packages/hatch/cli/__init__.py:221 in main                  │
│                                                                                                  │
│   218                                                                                            │
│   219 def main():  # no cov                                                                      │
│   220 │   try:                                                                                   │
│ ❱ 221 │   │   hatch(prog_name='hatch', windows_expand_args=False)                                │
│   222 │   except Exception:  # noqa: BLE001                                                      │
│   223 │   │   import sys                                                                         │
│   224                                                                                            │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/click/core.py:1157 in __call__                     │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/click/core.py:1078 in main                         │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/click/core.py:1688 in invoke                       │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/click/core.py:1434 in invoke                       │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/click/core.py:783 in invoke                        │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/click/decorators.py:45 in new_func                 │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/hatch/cli/build/__init__.py:55 in build            │
│                                                                                                  │
│    52 @click.pass_obj                                                                            │
│    53 def build(app: Application, location, targets, hooks_only, no_hooks, ext, clean, clean_h   │
│    54 │   """Build a project."""                                                                 │
│ ❱  55 │   app.ensure_environment_plugin_dependencies()                                           │
│    56 │                                                                                          │
│    57 │   from hatch.config.constants import AppEnvVars                                          │
│    58 │   from hatch.utils.fs import Path                                                        │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/hatch/cli/application.py:239 in                    │
│ ensure_environment_plugin_dependencies                                                           │
│                                                                                                  │
│   236 │                                                                                          │
│   237 │   def ensure_environment_plugin_dependencies(self) ->  None:                              │
│   238 │   │   self.ensure_plugin_dependencies(                                                   │
│ ❱ 239 │   │   │   self.project.config.env_requires_complex, wait_message='Syncing environment    │
│   240 │   │   )                                                                                  │
│   241 │                                                                                          │
│   242 │   def ensure_plugin_dependencies(self, dependencies: list[Requirement], *, wait_messag   │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/hatch/project/core.py:46 in config                 │
│                                                                                                  │
│    43 │   │   if self._config is None:                                                           │
│    44 │   │   │   from hatch.project.config import ProjectConfig                                 │
│    45 │   │   │                                                                                  │
│ ❱  46 │   │   │   self._config = ProjectConfig(self.location, self.metadata.hatch.config, self   │
│    47 │   │                                                                                      │
│    48 │   │   return self._config                                                                │
│    49                                                                                            │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/hatch/project/core.py:127 in metadata              │
│                                                                                                  │
│   124 │   │   if self._metadata is None:                                                         │
│   125 │   │   │   from hatchling.metadata.core import ProjectMetadata                            │
│   126 │   │   │                                                                                  │
│ ❱ 127 │   │   │   self._metadata = ProjectMetadata(self.location, self.plugin_manager, self.ra   │
│   128 │   │                                                                                      │
│   129 │   │   return self._metadata                                                              │
│   130                                                                                            │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/hatch/project/core.py:140 in raw_config            │
│                                                                                                  │
│   137 │   │   │   else:                                                                          │
│   138 │   │   │   │   from hatch.utils.toml import load_toml_file                                │
│   139 │   │   │   │                                                                              │
│ ❱ 140 │   │   │   │   raw_config = load_toml_file(str(self._project_file_path))                  │
│   141 │   │   │   │   # Assume environment management only                                       │
│   142 │   │   │   │   if 'project' not in raw_config:                                            │
│   143 │   │   │   │   │   raw_config['project'] = {'name': self.location.name}                   │
│                                                                                                  │
│ /home/gort/Saber/lib/python3.11/site-packages/hatch/utils/toml.py:18 in load_toml_file           │
│                                                                                                  │
│   15                                                                                             │
│   16 def load_toml_file(path: str) ->  dict[str, Any]:                                            │
│   17 │   with open(path, encoding='utf-8') as f:                                                 │
│ ❱ 18 │   │   return tomllib.loads(f.read())                                                      │
│   19                                                                                             │
│                                                                                                  │
│ /usr/lib/python3.11/tomllib/_parser.py:102 in loads                                              │
│                                                                                                  │
│    99 │   │   │   pos += 1                                                                       │
│   100 │   │   │   continue                                                                       │
│   101 │   │   if char in KEY_INITIAL_CHARS:                                                      │
│ ❱ 102 │   │   │   pos = key_value_rule(src, pos, out, header, parse_float)                       │
│   103 │   │   │   pos = skip_chars(src, pos, TOML_WS)                                            │
│   104 │   │   elif char == "[":                                                                  │
│   105 │   │   │   try:                                                                           │
│                                                                                                  │
│ /usr/lib/python3.11/tomllib/_parser.py:326 in key_value_rule                                     │
│                                                                                                  │
│   323 def key_value_rule(                                                                        │
│   324 │   src: str, pos: Pos, out: Output, header: Key, parse_float: ParseFloat                  │
│   325 ) ->  Pos:                                                                                  │
│ ❱ 326 │   pos, key, value = parse_key_value_pair(src, pos, parse_float)                          │
│   327 │   key_parent, key_stem = key[:-1], key[-1]                                               │
│   328 │   abs_key_parent = header + key_parent                                                   │
│   329                                                                                            │
│                                                                                                  │
│ /usr/lib/python3.11/tomllib/_parser.py:369 in parse_key_value_pair                               │
│                                                                                                  │
│   366 │   │   raise suffixed_err(src, pos, "Expected '=' after a key in a key/value pair")       │
│   367 │   pos += 1                                                                               │
│   368 │   pos = skip_chars(src, pos, TOML_WS)                                                    │
│ ❱ 369 │   pos, value = parse_value(src, pos, parse_float)                                        │
│   370 │   return pos, key, value                                                                 │
│   371                                                                                            │
│   372                                                                                            │
│                                                                                                  │
│ /usr/lib/python3.11/tomllib/_parser.py:616 in parse_value                                        │
│                                                                                                  │
│   613 │                                                                                          │
│   614 │   # Arrays                                                                               │
│   615 │   if char == "[":                                                                        │
│ ❱ 616 │   │   return parse_array(src, pos, parse_float)                                          │
│   617 │                                                                                          │
│   618 │   # Inline tables                                                                        │
│   619 │   if char == "{":                                                                        │
│                                                                                                  │
│ /usr/lib/python3.11/tomllib/_parser.py:428 in parse_array                                        │
│                                                                                                  │
│   425 │   │   if c == "]":                                                                       │
│   426 │   │   │   return pos + 1, array                                                          │
│   427 │   │   if c != ",":                                                                       │
│ ❱ 428 │   │   │   raise suffixed_err(src, pos, "Unclosed array")                                 │
│   429 │   │   pos += 1                                                                           │
│   430 │   │                                                                                      │
│   431 │   │   pos = skip_comments_and_array_ws(src, pos)                                         │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
TOMLDecodeError: Unclosed array (at line 25, column 31)
В настоящее время я использую SBC на базе Debian Distro для связи и создания библиотек с помощью файлов штриховки/вылупления и файлов .toml.
В дни setup.py до прекращения поддержки я мог каждый раз предоставлять метод перехода для настройки библиотеки Python3. Хотя мне не удалось изменить его в процессе компиляции, мне нравится этот метод. Двигаемся дальше...
Как я могу использовать tomli для декодирования/кодирования решений, когда он терпит неудачу? Я знаю, что есть обходной путь, потому что pep517 все еще существует из-за использованного источника в этом конкретном файле. pep660 на самом деле невозможно установить без setuptools-pep660 через pip.
Во всяком случае, на моем SBC, использующем Debian с python3.11, я использовал venv в качестве среды.
Таким образом, я могу использовать pip3 или python3 -m pip для получения пакетов и их удаления.
Вот мой Файл pyproject.toml:

Код: Выделить всё

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "Saber"
version = "0.5.0"
dependencies = [
"*pyserial",
#  "gidgethub[httpx]>4.0.0",
#  "django>2.1; os_name != 'nt'",
#  "django>2.0; os_name == 'nt'",
]
requires-python = ">=3.11"
authors = [
{name = "User_One", email = ""},
{name = "User_Two", email = ""},
]
maintainers = [
{name = "Seth", email = "seth@example.com"},
]
description = "Making UARTs work on new 64-bit Machines with Dimension Engineering!"
readme = "readme.rst"
license = {file = "MIT"}
keywords = ["beagleboard.org" "BeagleY-AI" "UART" "Dimension Engineering"]
classifiers = [
"Development Status :: 4 - Beta",
"Programming Language :: Python",
]

[project.optional-dependencies]
#gui = ["PyQt5"]
cli = [
"tomli",
"pep517",
"setuptools-pep660",
]
Итак, первое пятно источника — это вывод ошибки на SBC при попытке запуска: Если у вас есть какие-либо идеи относительно ошибок и способов их решения, будьте моим гостем и пришлите рекомендации.
Сет
P.S. Даже устаревшие файлы setup.py и setuptools не реализованы в версии 3.11. Я смог использовать его с успехом. В настоящее время я пытаюсь двигаться дальше и перейти на текущую систему Python3.11.
Это похоже, но устарело (я думаю): Как загрузить файл toml в Python
Я пытался ввести команду штрих-сборки pyproject.toml.
Я ожидал, что файл .toml создаст библиотеку из одного файла.
Я ожидал, что файл .toml создаст библиотеку из одного файла.
p>
Меня встречали многие tomli импортировал файлы ошибок в качестве вывода.

Подробнее здесь: https://stackoverflow.com/questions/791 ... et-up-data
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»