将setuptools CLI打包为可执行文件

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

我有一个带有以下setup.py的Python3 CLI(使用Click):

from setuptools import setup, find_packages

setup(
    # ...
    entry_points='''
        [console_scripts]
        importdb=scripts.importdb:cli
    ''',
)

[如果执行pip install -e .,则可以使用:我可以从命令行运行importdb ...。我如何将其打包成一个可以在没有pip install -e的情况下运行的可执行文件?

我已经尝试过python setup.py bdist_egg,它产生一个egg文件,但是尝试执行它会得到Syntax error: word unexpected (expecting ")")。我不太确定该从何而来-我已在此搜索说明,但似乎无济于事。

python command-line-interface setuptools egg
1个回答
0
投票
使用pip install。然后复制到生成的/path/to/venv/bin/importdb脚本到您想要的任何位置(可能在PATH上的某个位置,例如.local/bin/importdb)。只要

venv停留在文件系统上的相同位置,它就可以正常工作,因为importdb脚本具有完整路径/path/to/venv/bin/python作为其shebang。否则请查看pexshivzipapp之类的内容。

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