У нашей группы мало опыта работы с Python. Нам предоставили сторонний код Python без документации. Я начал изучать базовые понятия: модули, пакеты, библиотеки, проекты, .whl, .venv, .toml и т. д. В соответствии с README во внешней папке зависимостей я использовал команду python3 -m build для создания файла .whl, поэтому попробовал использовать его в их примере проекта. Но я получаю эту ошибку:
Код: Выделить всё
(.venv) [root@dd-rocky9-us0cnd23904yl-adbf20 src]# python3 -m build
error: [Errno 2] No such file or directory: 'Example/interfaces/example.proto'
ERROR Backend subprocess exited when trying to invoke build_wheel
Код: Выделить всё
(.venv) [root@dd-rocky9-us0cnd23904yl-adbf20 src]# ls -aR
.:
. .. Example pyproject.toml
./Example:
. .. __init__.py __main__.py example_pb2.py interfaces
./Example/interfaces:
. .. example.proto
Код: Выделить всё
recursive-include Example/interfaces *.protoAI Assist также предложил отредактировать файл pyproject.toml. Исходный текст:
Код: Выделить всё
[build-system]
requires = [
'setuptools >= 41.9.0',
'setuptools-protobuf',
'wheel'
]
build-backend = 'setuptools.build_meta'
[tool.setuptools-protobuf]
proto_path = 'src/Example/interfaces'
protobufs = [
'example.proto',
]
[project]
name = 'Example'
version = '0.1.0'
...
Код: Выделить всё
[tool.setuptools.package-data]
"Example" = ["interfaces/*.proto"]
[tool.setuptools]
include-package-data = true
Похоже на проблему с путем. При дальнейшем поиске на уровне выше папки ./src/ (где находится папка .venv) я добавил файл .env с содержимым
Код: Выделить всё
PYTHONPATH=/workspaces/pyproj/src/
/workspaces/pyproj:${PYTHONPATH}
Код: Выделить всё
export PYTHONPATH=/workspaces/pyproj/src/Подробнее здесь: https://stackoverflow.com/questions/798 ... faces-exam
Мобильная версия