如何从python模块制作控制台应用程序

时间:2016-06-18 17:13:32

标签: python linux setup.py

我有一个带有__main__.py文件的python模块,我想把它变成一个应用程序,我可以从任何地方调用它。

这样的事情: $my_app [args]python3 my_app args
我怎样才能做到这一点? 我想,我需要在setup.py中写一些东西。现在它看起来像这样:

import vk_mutual_friends_finder
from distutils.core import setup
setup(
    name="vk_mutual_friends_finder",
    packages=["vk_mutual_friends_finder"],
    version="1.0",
    description="""Finds mutual friends in social network
        'vkontakte' (https://vk.com)""",
    author="Stepan Kholodov",
    url="https://github.com/stepuncius/vk_mutual_friends_finder",
    classifiers=[
        "Programming Language :: Python",
        "Programming Language :: Python :: 3",
        "Intended Audience :: Developers and linux power users",
        "License :: OSI Approved :: BSD",
        "Environment :: Console"
        "Operating System :: Linux"
        ],
    )

2 个答案:

答案 0 :(得分:1)

我认为最简单的方法是设置别名(http://www.linfo.org/alias.html)。 如果您正在使用bash,可以将“alias myapp =”python3 /path/to/your/app/myapp.py“”行添加到〜/ .bashrc中 之后,您可以使用$ myapp args

从任何地方调用您的应用

答案 1 :(得分:0)

如果您希望仅运行vkmff而不是python3 -m vk_mutual_friends_finder,请在console_scripts中使用setup.py

setup(
    name="vk_mutual_friends_finder",
    packages=["vk_mutual_friends_finder"],
    ...
    entry_points={
        'console_scripts': [
            'vkmff=vk_mutual_friends_finder:main',
        ],
    })

我还认为您不应该在import vk_mutual_friends_finder中使用setup.py

一些有用的链接: