python 制作自定义包并安装

python 中的包的概念跟c++中的namespace很相似,在大型的工程开发中,多个开发人员很容使用相同的函数名,为了避免相同函数名带来的问题,就引入了包的概念。

在看别人写的程序中经常看到形如“from xx import yy”xx就是包

1.编写包文件

    建立一个文件夹并命名为dl,文件夹名"dl"就是我们的包名,在文件夹内部新建一个“__init__.py”(注意init左右两边都是两个底线符号),在文件夹下添加自己的模块即可,代码目录如下,a.py中存放test_a函数,b.py中存放test_b函数

    在dl同级目录中添加要使用包的测试文件,并测试

    测试代码如下:

from dl import a,b

a.test_a()
b.test_b()

可以发现能正常执行包dl中模块a和模块b中的函数(包是可以嵌套的,包中可以再添加包)

__init__.py中可以控制当前包都有哪些模块可以导出,如果__init__.py中什么内容都没有,表示当前包中所有的模块都可以导出,其他模块可以通过“from xx import *”的方式使用该包。

在__init__.py中添加“__all__ = ['a','b']”表示当前包内只有a,b两个模块可以导出

2.制作安装包

在包dl同级的目录中创建setup.py

from distutils.core import setup

setup(name="testModule", version="18.0.4", description="test to install module", author="szfhy", py_modules=['dl.a','dl.b', 'dl.network.facenet'])

方式一、生成 whl 包

1.安装最新版的setuptools和wheel

python3 -m pip install --user --upgrade setuptools wheel

2.使用sdist构建源码分发包

python3 setup.py sdist bdist_wheel

会在 当前目录/dist 下生成 whl 包文件,可以使用 pip install 安装

方式二、本地直接安装使用 

python3 setup.py install

安装后可以在工程中直接使用

方式三、生成 egg 包

打包命令

python3 setup.py build

会在 当前目录/dist 下生成 egg 包文件,可以使用 easy_install xxx.egg 安装

方式四、生成 tar.gz 压缩包

执行命令

python3 setup.py sdist

会在 当前目录/dist 下 生产 tar.gz 文件,解压后 和 方式二 本地安装一样

进入python终端测试

功能一切正常。大功告成

 

 

 

 

 

 

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值