Моя проблема:
При запуске pip install . Я хочу, чтобы был установлен только модуль foo_tool. При запуске pip install .[extension] я хочу, чтобы был установлен дополнительный модуль foo_tool_extension. Однако, в зависимости от моей конфигурации pyproject.toml:
- Оба foo_tool и foo_tool_extension устанавливаются независимо от того, Я указываю опцию [расширение].
- Устанавливается только файл dist-info, но ни один из модулей (или foo_tool_extension).
Код: Выделить всё
foo_tool
Код: Выделить всё
c:\users\thetelefone\anaconda3\envs\test_env\lib\site-packages\foo_tool-0.6.dist-info\*
c:\users\thetelefone\anaconda3\envs\test_env\lib\site-packages\foo_tool\*
c:\users\thetelefone\anaconda3\envs\test_env\lib\site-packages\foo_tool_extension\*
Код: Выделить всё
c:\users\thetelefone\anaconda3\envs\test_env\lib\site-packages\foo_tool-0.6.dist-info\*
Моя структура имеет следующий макет:
Код: Выделить всё
/foo_project
├── src
│ ├── foo_tool
│ │ ├── __init__.py
│ │ ├── foo_problem.py
│ │ ├── foo_plotting.py
│ ├── foo_tool_extension
│ │ ├── __init__.py
│ │ ├── foo_problem_extension.py
├── tests
│ ├── ...
├── README.md
├── pyproject.toml
Код: Выделить всё
[project]
name = "foo_tool"
version = "0.6"
authors = [{name = "thetelefonecopmpany"}]
description = "Foo-Tool for fools."
requires-python = ">3.6"
dependencies = [
"matplotlib",
"pandas",
"numpy",
"openpyxl"
]
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
where = ["src"]
exclude = ["foo_tool_extension"]
[project.optional-dependencies]
extension = [
"scipy>=1.7.0",
"foo_tool_extension @ file://src/foo_tool_extension"
]
Пожалуйста, помогите мне улучшить этот вопрос. Заранее спасибо!
Подробнее здесь: https://stackoverflow.com/questions/792 ... oject-toml
Мобильная версия