setup.py

撸完自己的代码,本地跑起来畅爽无阻~这种时候自己一个人痛快怎么行,是时候把代码上传到pip&github让大家一起爽爽了。但如果只是源码就太low了,要怎么才能做成第三方库那样安装后使用呢?

如果想让别人能够安装你的源码,作为第三方库那样使用的话,就需要编写setup.py文件了。

目录结构

在项目根目录下建立setup.py文件

假设项目目录如下:

project/
    example/
        __init__.py
        entry.py
    setup.py
    run.py
    LICENSE

题外话:不知道给自己的开源项目用哪种LICENSE?可以看看这个网站:

Choose an open source license

编写文件

废话少说,直接在代码中学习如何编写

# 引用包管理工具setuptools,其中find_packages可以帮我们便捷的找到自己代码中编写的库
from setuptools import setup, find_packages

setup(
    name='example', # 包名称,之后如果上传到了pypi,则需要通过该名称下载
    version='0.1', # version只能是数字,还有其他字符则会报错
    keywords=('setup', 'example'),
    description='setup example',
    long_description='',
    license='MIT', # 遵循的协议
    install_requires=[], # 这里面填写项目用到的第三方依赖
    author='ecmadao',
    author_email='[email protected]',
    packages=find_packages(), # 项目内所有自己编写的库
    platforms='any',
    url='' # 项目链接,
    include_package_data = True,
    entry_points={
        'console_scripts':[
            'example=run:main' 
        ]
    },
)

着重了解下entry_points

当你写的Python项目可以在命令行里,通过运行某个文件跑起来的时候,则可以配置entry_points

console_scripts接受一个list作为值,list里的各个value配置了命令行的语句。以上面的example=run:main为里,它表明,当你安装了该项目之后,就可以在命令行中通过:

$ example

来运行项目根目录下run.py内的main函数。即是说:

entry_points : [可执行程序名]=引入的包名.子包名.模块名:入口函数

本地安装

编写好了setup,尝试下本地安装:

# 在项目根目录下
$ python setup.py install

so easy!

results matching ""

    No results matching ""