Python基础学习Day11(下)(用*导入包、包内引用、sys.path、模块安装和发布、PyPI官网_远程上传和管理模块_PIP方式安装模块)

用*导入包

import *这样的语句理论上是希望文件系统找出包中所有的子模块,然后导入它们。这可能会花长时间等。Python解决方案是提供一个明确的包索引。
这个索引由__init__.py定义__all__变量,该变量为一列表,如上例b包下的__init__.py中,可定义__all__=[“module_B1”,“module_B2”]
这意味着,from sound.effects import * 会从对应的包中导入以上两个子模块。
在这里插入图片描述
在这里插入图片描述

from b import *
module_B1.fun_B()#可直接使用b包中的导入了的模块

在这里插入图片描述
注:尽管提供import*的方法,仍不建议在生产代码中使用这种写法。

包内引用

如果是子包内的引用,可以按相对位置引入子模块以cc包下的module_C1中导入b包下内容为例:
from ..a.aa import * #..表示上级目录
from . import module module_C1 #.表示同级目录

sys.path和模块搜索路径

当我们导入某个模块文件时,Python解释器去哪里找这个文件呢?
只有找到这个文件才能读取,装载运行该模块文件。它一般按照如下路径寻找模块文件(按照顺序寻找,找到即停,不继续往下寻找):
1.内置模块
2.当前目录
3.程序的主目录
4.pythonpath目录(如果已经设置了)
5.标准链接库目录
6.第三方库目录(site-packages目录)
7…pth文件的内容(如果存在的话)
8.sys.path.append()临时添加的目录
当任何一个python程序启动时,就将上面这些搜索路径(除内置模块以外的路径)进行收集,放到sys模块的path属性中(sys.path)。

'''测试sys.path的用法,测试模块搜索路径'''
import sys
sys.path.append("d:/")#临时有效,仅这个程序
print(sys.path)

模块发布和安装

模块的本地发布

当我们完成了某个模块开发后,可以将他对外发布,其他开发者也可以以“第三方扩展库”的方式使用我们的模块。我们按照如下步骤即可实现模块的发布:
1.为模块文件创建如下结构的文件夹(一般,文件夹的名字和模块的名字一样):
在这里插入图片描述
2.在文件夹中创建一个名为setup.py的文件,内容如下:

from distutils.core import setup
setup(
    name='Math3',#对外我们模块的名字
    version='1.0',#版本号
    description='这是第一个对外发布的模块,测试哦',#描述
    author='meidi',#作者
    author_email='22222222@163.com',
    py_modules=['math3.demo1','math3.demo2']
)

在这里插入图片描述

本地安装模块

将发布安装到你的本地计算机上,仍在cmd命令行模式下操作,进setup.py所在目录,键入命令:
python setup.py install
安装成功后,我们进入python目录/Lib/site-packages目录(第三方模块都安装的这里.python解释器执行时也会搜索这个路径)。
之后就可以通过import命令调用包啦!
上传模块到PyPI
将自己开发好的模块上传到PyPI网站上,将成为公开的资源,可以让全球用户自由使用。按照如下步骤,很容易就实现上传模块操作。

PyPI官网_远程上传和管理模块_PIP方式安装模块

注册PyPI网站

创建用户信息文件.pypirc
方式1:使用命令(适用Linux)
输入并执行后python setup.py register,然后输入用户和密码,即可。
方式2:使用文件(适用windows,Linux)
在用户的家目录里创建一个文件名为.pypirc,内容为:

[distutils]
index-servers=pypi
[pypi]
repository=http://upload.pypi.org/legacy/
username=账户名
password=你自己的密码

注:
Linux的家目录:~/.pypirc
Windows的家目录是:c:/user/用户名
在windows下直接创建不包含文件名的文件会失败,因此创建时文件名为".pypirc.",前后都有两个点即可。

上传并远程发布

进入setup.py文件所在目录,使用命令“python setup.py sdist upload”,即可以将模块代码上传并发布。

让别人使用你的模块

pip install [模块名字]
升级:
pip install [模块名字] upload
安装后,import语句正常用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值