9 模块化
9.1 import语句导入
可以加载以下四个通用类别:
- 使用python编写的代码
- 已被编译为共享库/DLL 的c/c++扩展
- 包好一组模块的包
- 使用C编写并连接到python解释器的内置模块
from…import
import导入的是模块
from…import导入的是文件下的内容
一个模块无论导入多少次,有且仅有一个实例对象
a = importlib.import_module("math")
print(a.pi)
9.2 package的使用
必须有__init__.py(是包 区别于 文件夹的本质区别)
尽量少写 import *
9.3 sys.path
寻找模块文件的路径顺序:
- 内置模块
- 当前目录
- 程序的主目录
- pythonpath 目录(如果已经设置了pythonpath 环境变量)
- 标准链接库目录
- 第三方库目录(site-packages 目录)
- .pth 文件的内容(如果存在的话)
- sys.path.append()临时添加的目录
9.4 模块的发布和安装
本地
New Dictionaty -> New Package -> Setup.py
from distutils.core import setup
setup(
name='hhhh',
version='1.0',
description='这是第一个对外发布的模块,测试哦',
author='xxx',
author_email='xxxx@163.com',
py_modules=['h1.demo1','h2.demo2']
)
-> 构建发布文件
python setup.py sdist
-> 本地安装
python setup.py install
上传到PyPI
- 注册
- 创建用户信息文件
# Windows/Linux 通用
# 在用户的家目录里创建一个晚间名为.pypirc
# Linux 的家目录: ~/.pypirc
# Windows 的家目录是: c:/user/用户名
# 内容为:
[distutils]
index-servers=pypi
[pypi]
repository = https://upload.pypi.org/legacy/
username = 账户名
password = 密码
python setup.py sdist upload
- 别人使用
pip install 模块名
或者在pycharm里
|