看问题的在最后,一般都是导入包的时候出问题没有解决的话就评论区问我
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)