python创建函数模块,Python函数模块创建、发布和使用

本文介绍了如何创建、打包并发布Python模块到PyPI社区。通过创建一个名为nester的模块,编写setup.py文件进行配置,然后使用distutils.core.setup进行构建和安装。最后,通过python setup.py register和sdist upload将模块上传到PyPI,使得全球用户可以使用这个模块来打印嵌套列表。
摘要由CSDN通过智能技术生成

【本文参考Head First Python 第二章】

可重用的代码块不错,但可共享的模块更棒。

发布工具允许你向全世界共享你的模块--PyPI社区

模块就是一个包含Python代码的文本文件。

发布是指一个文件集合,这些文件联合在一起允许你构建、打包和发布你的模块。

一个.py文件示例:

nester.py

def print_lol(the_list,indent=False,level=0):

for each_item in the_list:

if isinstance(each_item, list):

print_lol(each_item,indent,level+1)

else:

if indent:

for tab_stop in range(level):

print("\t",end='')

print(each_item)

注:这个函数的主要功能:打印列表,每行一个项,在遇到子列表时递归调用该函数。

1.首先为模块创建一个文件夹

将该文件放入某个文件夹(比如新建个nester目录)通过F5执行无报错

2.在新文件夹中创建setup.py文件

from distutils.core import setup

setup(

name = 'nester',

version = '1.3.0',

py_modules = ['nester'],

author = 'hfpython',

author_email = 'hfpython@headfirstlabs.com',

url = 'http://www.headfirstlabs.com',

description = 'A simple printer of nested lists',

)

3.构建一个发布文件

在命令行cmd(或linux shell,这里以windows cmd为例)中执行:python setup.py sdist

注意执行目录为前面新建的文件夹下。

4.将发布安装到Python本地库中使用

python setup.py install

安装好后这个模块就可以在本地使用了,示例文件如下。

import nester

cast =['Palin','Clesse',['Idle','Edward'],'Jones',['Gilliam'],'Chapman']

print('-------------no indent------------')

nester.print_lol(cast)

print('----------default indent----------')

nester.print_lol(cast,True)

print('--- -----specific indent----------')

nester.print_lol(cast,True,1)

输出见附录

5.向PyPI上传代码

发布是指一个文件集合,这些文件联合在一起允许你构建、打包和发布你的模块。

首先执行python setup.py register

按照提示输入自己在PyPI的用户名和密码(最后一步保存登陆以后就不用输入了)

然后执行setup.py sdist upload

server responce为200 说明上传成功。

附录:附第4步输出结果

-------------no indent------------

Palin

Clesse

Idle

Edward

Jones

Gilliam

Chapman

----------default indent----------

Palin

Clesse

Idle

Edward

Jones

Gilliam

Chapman

--- -----specific indent----------

Palin

Clesse

Idle

Edward

Jones

Gilliam

Chapman

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值