从 setuptools 过渡到 Poetry:脚本和包数据问题

问题描述 投票:0回答:1

我正在将 Python 项目从 setuptools 迁移到 Poetry,并遇到了我的脚本无法识别并包含非代码文件的问题。以下是我之前在 setup.py 中使用 setuptools 配置项目的方式:

from setuptools import setup, find_packages

version = "1.0.0"

setup(
    name='my_package',
    version=version,
    packages=find_packages(),
    package_data={
        'my_package.merge': ['*.sh']
    },
    include_package_data=True,
    url='repo_url',
    entry_points={
        'console_scripts': [
            'my_amazin_func=my_package.fun:entrypoint'
        ]
    }
)

现在,我正在尝试使用诗歌来实现相同的功能。这是我当前的 pyproject.toml 配置:

[tool.poetry]
name = "my package"
version = "1.0.0"
description = "My Amazing package"
authors = ["AAA"]
readme = "README.md"
include = [
    'my_package/merge/*.sh'
]

[tool.poetry.scripts]
my_amazin_func = "my_package.fun:entrypoint"

[tool.poetry.dependencies]
python = ">=3.10.1,<3.11"

[tool.flake8]
max-line-length = 100
select = ['E9', 'F63', 'F7', 'F82']
count = true
show-source = true
statistics = true
max-complexity = 10

[tool.poetry.group.dev.dependencies]
nose = "1.3.7"
pytest = "8.1.1"
pytest-mock = "3.14.0"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

问题 函数

my_amazin_func
旨在像 CLI 工具一样使用,但迁移后无法识别。如何确保 my_amazin_func 被正确识别为命令行脚本,以及如何像在 setuptools 中使用 package_data 那样包含特定的非代码文件?

附加说明 我已确保在更新 pyproject.toml 后运行诗歌安装。 我检查了虚拟环境以确认该脚本不存在。 任何有关如何正确配置 Poetry 以替换以前由 setuptools 处理的功能的指导将不胜感激。

python setuptools python-poetry
1个回答
0
投票

它确实有效,正如 @sinoroc 提到的问题是使用诗歌安装包时

© www.soinside.com 2019 - 2024. All rights reserved.