我有一个像这样的 python 包:
package/
setup.py
deb/
build/
sound/
__init__.py
run.py
config.py
readaudio.py
在 run.py 中:
#! /usr/bin/env python
start():
...do something
resume():
....do something
if __name__=="__main__":
start()
我已经构建并安装了一个包,现在我想从命令行运行安装的包。有点像
$ ./sound.run
或
$ python sound.run.resume
我希望能够在系统范围内(或在 virtualenv 中)执行此操作,因为这是安装它的目的。我知道上面的命令不起作用,但我希望这能传达这个想法。我想调用程序而不是 python 环境中的函数。
但我不确定如何从命令行不使用类似这样的东西运行它:
$ python -c " from sound import run; run.start();"
有什么建议吗?
最佳答案
您可以使用setuptools
的入口点功能为您的项目创建控制台脚本
setup(name=project_name,
packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
include_package_data=True,
zip_safe=False,
entry_points="""
[console_scripts]
sound-run = sound.run:start
sound-resume = sound.run:resume
"""
# Other setuptools stuff
)
关于python - 从终端运行 python 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23093989/