我正在尝试使我的 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']
)