python - 从终端运行 python 包

标签 python command-line package

我有一个像这样的 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/

相关文章:

python - 在delphi XE2中访问DLL,从Python转换

python - 获取Docker容器内主机的MAC地址

matlab - 查找 matlab 命令窗口句柄/引用

mysql putty命令删除重复项

collections - 正确使用 meteor 包中的集合?

linux - 在 Slackware 14.2 中安装 TCP Wrappers

python - 如何使用python在yaml文件中自动创建子文件夹或直接文件?

python - 如何在python中将特定整数转换为日期时间

bash - 如何在 bash 中对连续的行进行分组?

java - 使用 Play Framework 编译时如何修复包错误。出现错误 : package redis.clients.jedis 不存在