簡體   English   中英

使用setup.py install,如何生成有效的獨立命令行腳本?

[英]Using setup.py install, how can I generate a working standalone command line script?

我試圖通過注冊它作為一個“命令行訪問工具”使用,使我的Python的命令行應用為自行安裝,盡可能為我公司的一些Mac用戶setup.py描述這里

我的項目樹(簡化)如下所示:

my-app
 |-app.py
 |-setup.py

Kenneth Reitz的示例為基礎 ,這是我的setup.py腳本:

setup(
    name=my-app,
    ...
    packages=find_packages(exclude=('tests',)),

    # For entry point. Based on https://stackoverflow.com/a/28471597/9381758.
    py_modules=['app'],

    # Based on https://stackoverflow.com/a/11717581/9381758.
    entry_points={
        'console_scripts': ['my-app = app:main']
    }
)

當我運行python setup.py install ,它將安裝到我的pyenv目錄中:

~/.pyenv/versions/3.6.4/bin/my-app

這有效:

$ ~/.pyenv/versions/3.6.4/bin/my-app -h 
usage: my-app [-h]

這不是:

$ my-app -h 
-bash: my-app: command not found

是否有一種優雅的方式來更新我的setup.py腳本,以便安裝后最終用戶將能夠運行my-app命令而無需進一步調整或包括完整路徑?

這樣可以解決您的問題。

setup(
    other args ...
    scripts = ['my-app/script.py']
)

在你的情況下嘗試

setup(
    other args ...
    scripts = ['app.py']
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM