Python编程:entry_points将Python模块转变为命令行工具

简介: Python编程:entry_points将Python模块转变为命令行工具

要将python模块转变为命令行工具只用在 setup.py 文件中添加参数entry_points

例如:

entry_points={
    'console_scripts': [
        'pycase = pycase.case:main'
    ]
}

pycase 是自定义的参数,往后看


setup.py完整设置:

# -*- coding: utf-8 -*-


from setuptools import setup, find_packages

"""
打包的用的setup必须引入,
"""

VERSION = '0.0.1'

setup(name='pycase',
version=VERSION,
description="a command line tool for camel case",
long_description='a python command tool for camel case',
classifiers=[], # Get strings from http://pypi.python.org/pypi?%3Aaction=;list_classifiers
keywords='pycase',
author='Peng Shiyu',
author_email='pengshiyuyx@gmail.com',
license='MIT',
packages=find_packages(),
include_package_data=True,
zip_safe=True,
install_requires=[],
entry_points={
'console_scripts': [
'pycase = pycase.case:main'
]
}
)

举个例子

1、工具说明

我要做一个的简单的命令行工具,实现驼峰命名的大小写转换

2、项目目录

$ tree
.
├── pycase
│ ├── __init__.py
│ └── case.py
└── setup.py

文件说明:

setup.py 文件和上文中的一致

__init__.py 空白文件

case.py 文件中写逻辑代码,具体就不实现了,文末github有源代码


3、调用函数

现在,我要通过命令行调用case.py 文件中的函数

$ python pycase/case.py studeng_model
StudengModel

4、打包安装

这样显得名字太长了


基于前面配置好的 setup.py 将项目打包安装

python setup.py install

5、命令行工具

$ pycase studeng_model
StudengModel

所以,setup.py 中的参数

pycase = pycase.case:main

相当于
pycase == pycase/case.py.main

其中,main 是定义好的main() 方法

另外

之前见过下面这样的执行方式

其实就是在__init__.py 通目录下新建一个__main__.py文件即可,内容

现在的文件结构为:

项目源码:

https://github.com/mouday/PyCase


参考:

如何发布一个Python命令行工具

            </div>
目录
相关文章
|
5月前
|
Linux iOS开发 MacOS
Python 工具和库:解释什么是虚拟环境(Virtual Environment)?为什么要使用它?
Python 工具和库:解释什么是虚拟环境(Virtual Environment)?为什么要使用它?
226 0
|
4月前
|
存储 索引 Python
Python教程:深入了解 Python 中 Dict、List、Tuple、Set 的高级用法
Python 中的 Dict(字典)、List(列表)、Tuple(元组)和 Set(集合)是常用的数据结构,它们各自有着不同的特性和用途。在本文中,我们将深入了解这些数据结构的高级用法,并提供详细的说明和代码示例。
74 2
|
5月前
|
存储 数据采集 JSON
python-scrapy框架(二)items文件夹的用法讲解
python-scrapy框架(二)items文件夹的用法讲解
62 0
|
机器学习/深度学习 Python
【错误记录】PyCharm 运行 Python 程序报错 ( PEP 8: E402 module level import not at top of file )
【错误记录】PyCharm 运行 Python 程序报错 ( PEP 8: E402 module level import not at top of file )
3035 0
【错误记录】PyCharm 运行 Python 程序报错 ( PEP 8: E402 module level import not at top of file )
|
Python
Python编程:entry_points将Python模块转变为命令行工具
Python编程:entry_points将Python模块转变为命令行工具
127 0
|
机器学习/深度学习 Python
Python基础——PyCharm版本——第六章、函数function(1)
Python基础——PyCharm版本——第六章、函数function
161 0
Python基础——PyCharm版本——第六章、函数function(1)
|
Python
Python基础——PyCharm版本——第六章、函数function(2)
Python基础——PyCharm版本——第六章、函数function
149 0
Python基础——PyCharm版本——第六章、函数function(2)
|
Python
python的circle函数和setup函数是什么(图解,速看)
python的circle函数和setup函数是什么(图解,速看)
150 0
python的circle函数和setup函数是什么(图解,速看)
|
Python
Python 命令行工具辅助getopt使用解析!
正式的Python专栏第14篇,同学站住,别错过这个从0开始的文章!
300 0
Python 命令行工具辅助getopt使用解析!
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)
Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Entry/Entry的Command)