'NoneType'对象没有属性'group'通过单击构建包



你好,我正在尝试构建一个python包,我有以下文件夹结构

.
├── Dockerfile
├── entrypoint.sh
├── Pipfile
├── Pipfile.lock
├── setup.py
└── vms-backup
├── commands
│   ├── __init__.py
│   ├── to_csv.py
│   ├── to_sql.py
│   └── upload_to_s3.py
└── __init__.py

setup.py包含以下代码:

from setuptools import setup, find_packages
import pipfile
pf = pipfile.load("Pipfile")
setup(
name="vms-backup",
version="1.0.0",
packages=find_packages(exclude=["tests"]),
python_requires="==3.8.13",
install_requires=["click"],
entry_points="""
[console_scripts]
vms-backup=vms-backup:cli
""",
)

和vms备份/init.py

import click
from commands import to_csv, to_sql, upload_to_s3

@click.group()
def cli():
pass

cli.add_command(to_csv)
cli.add_command(to_sql)
cli.add_command(upload_to_s3)

if __name__ == "__main__":
cli()

如果我执行,代码会很好地工作,但当执行pipinstall-e时。为了测试入口点,我得到了以下输出:

Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [1 lines of output]
error in vms-backup setup command: 'NoneType' object has no attribute 'group'
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

你知道代码出了什么问题吗?

感谢

编辑

如果我在dockerfile中执行,错误会改变:

backup_1        | Obtaining file:///usr/app
backup_1        |   Preparing metadata (setup.py): started
backup_1        |   Preparing metadata (setup.py): finished with status 'error'
backup_1        |   error: subprocess-exited-with-error
backup_1        |   
backup_1        |   × python setup.py egg_info did not run successfully.
backup_1        |   │ exit code: 1
backup_1        |   ╰─> [1 lines of output]
backup_1        |       error in vms-backup setup command: ("EntryPoint must be in 'name=module:attrs [extras]' format", 'vms-backup=vms-backup:cli')
backup_1        |       [end of output]
backup_1        |   
backup_1        |   note: This error originates from a subprocess, and is likely not a problem with pip.
backup_1        | error: metadata-generation-failed
backup_1        | 
backup_1        | × Encountered error while generating package metadata.
backup_1        | ╰─> See above for output.

我认为您的问题是包名称vms-backup使用了短划线
尝试使用vms_backup(或vmsbackup(。

命令名称可以保持不变:vms-backup = vms_backup:cli

相关内容

最新更新