模块和包的介绍,制作,发布,使用和常见问题

看问题的在最后,一般都是导入包的时候出问题没有解决的话就评论区问我

1.模块的基本使用

(1 import 模块 使用:模块.函数名
(2 from 模块 import 函数名1,函数名2 使用:直接函数名
(3 from 模块 import *
(4 import的时候,python解释器会搜索模块位置如果导入不成功的话,就在pycharm上把模块所在目录设为source root

2.模块的制作

(1 有定义好的函数和各种类
(2 有测试用例(if name = ‘main’:)

#module_add.py
def add(a, b):
    return a + b


if __name__ == '__main__':
    result = add(1, 1)
    print('test:1+1的结果为{}'.format(result))

3.python中的包

(1 包中一般包含了多个模块
(2 导入包中的模块一般:from package import module1或者 import package.module1
(3 引入包的目的是为了,避免不同人编写的模块重名
(4 包的结构:
|—— setup.py
|—— package1
| |——module1
| |——module2
| |—— __ init __.py(可以为空,但需要有)
|
|—— package2
| |——module1
| |——module2
| |—— __ init __.py

4.包的发布

(1 编写setup.py (主要指明包中有哪些模块,以及作者版本号等信息)

#setup.py
from distutils.core import setup
setup(
    name="good_package",
    version="1.0",
    author="Acarryon",
    py_modules=['package1.module_add', 'package2.module_subtract'],
)

(2 在setup.py目录下执行python setup.py build 来得到build文件夹
(3 执行python setup.py sdist 来生成发布的压缩包(dist目录(distribution)下有一个压缩包,MANIFEST文件说明文件目录)
在这里插入图片描述

5.包的安装

(1 找到压缩包进行解压
(2 执行python setup.py install(python会自动把这个包安装到解释器的site-packages目录下,名字是setup.py下你命名的)
在这里插入图片描述

这里注意一个问题:就是python会把你的这个发布包安装到某个编译器上,例如我使用的是anaconda,而系统默认安装到python\lib\site-packages下

这时需要指定路径–prefix=安装路径
例如我的就是python setup.py install --prefix=d:\anaconda
ok!万事大吉!测试一下
在这里插入图片描述
注意这里安装到sitepackge里的是package1包而不是good_package!

这里 import package1.module_add 也可以但是这样使用add函数就得

package1.module_add.add(1,2)
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值