为什么我的包不能用“pipx”安装?

MLu*_*MLu 5 python pip pypi setup.py

我有一个用于打包的Python 项目aws-ssm-tools 。setup.py它带有 3 个脚本:ssm-tunnelssm-sessionssm-copy

它可以安装并将pip install aws-ssm-tools脚本放入~/.local/bin/.

但是,当我尝试安装它时,pipx它失败了:

~ $ pipx install aws-ssm-tools

No apps associated with package aws-ssm-tools. Try again with '--include-deps' 
to include apps of dependent packages, which are listed above. If you are 
attempting to install a library, pipx should not be used. Consider using pip or 
a similar tool instead.
Run Code Online (Sandbox Code Playgroud)

我有指定的脚本setup.py

SCRIPTS = [
    'ssm-session',
    'ssm-copy',
    'ssm-tunnel',
    'ssm-tunnel-updown.dns-example',
]

# ...

setup(
    name="aws-ssm-tools",
    version=VERSION,
    packages=find_packages(),
    scripts=SCRIPTS+[
        'ssm-tunnel-agent'
    ],
    # ...
)
Run Code Online (Sandbox Code Playgroud)

我还需要做什么才能让自己pipx快乐呢?

sin*_*roc 5

如pipx文档章节“pipx 工作原理”的“为 pix 开发”部分所述,该项目需要setuptools entry_points

根据您问题的内容,目标项目似乎使用了scripts,它们的用途相似,entry-pointspipx不会查找这些并且不会公开它们。