我试图让我的Python命令行应用程序尽可能为我公司的某些Mac用户自行安装,方法是将其注册为"命令行可访问工具"使用here所述的setup.py
。
我的项目树(简化)看起来像这样:
my-app
|-app.py
|-setup.py
建立Kenneth Reitz's example,这是我的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
命令而无需进一步调整或包含完整路径?
答案 0 :(得分:0)
这可以解决您的问题。
setup(
other args ...
scripts = ['my-app/script.py']
)
在你的情况下试试
setup(
other args ...
scripts = ['app.py']
)