我们在安装第三方包的时候,直接一个pip install xxx命令就搞定了,然后pip会去pypi上寻找我们要安装的包,然后下载下来。 而pypi(Python Package Index )你可以看成是官方维护的一个大仓库,专门用来存储世界各地的程序员编写的第三方模块。我们使用pip进行
我们在安装第三方包的时候,直接一个pip install xxx命令就搞定了,然后pip会去pypi上寻找我们要安装的包,然后下载下来。 而pypi(Python Package Index )你可以看成是官方维护的一个大仓库,专门用来存储世界各地的程序员编写的第三方模块。我们使用pip进行安装的时候就会去这个仓库里面找,找到了进行下载,找不到就提示不存在。
当然我们在安装的时候还可以指定清华源、豆瓣源,因为pypi在国外,下载有时候比较慢,而一旦指定了国内的源,那么就不会去pypi上下载了,所以你可以看成国内也有仓库,专门负责搬运pypi里面的内容。
总共分为三步:编写模块、编译模块、上传模块。 我们看一下要上传到pypi的模块长什么样子。
然后我们看看代码长什么样子。
然后最重要的就是编写setup.py。
编译 在上传代码之前,我们需要将代码编译。除了setuptools之外,我们还需要一个模块wheel,如果没有则需要安装。 pip install --user --upgrade setuptools wheel 然后对我们的setup.py进行编译。 python setup.py sdist bdist_wheel 编译成功之后会在项目中生成多个目录,其中有一个dist目录是我们需要上传的。
上传然后就是上传了,我们需要前往(https://pypi.org/account/register/)注册一个账号,然后再安装一个模块:twine,因为上传需要使用到它。 pip install --user --upgrade twine 安装完成之后,就可以使用如下命令上传 dist 文件夹里面的文件。 python -m twine upload --repository pypi dist/*
我们看到上传成功,下面去页面看一下。
注意:这里为了区分,我们把根目录名和模块名取得不一样,我们需要pip install hanser-module-upload,然后在site-packages下面会有一个hanser目录,也就是我们所使用的模块。但是一般情况下,这两者都是一样的。比如:我们安装pandas,那么得到的模块也叫做pandas。 下面就来试一试吧:
成功安装,当然也是可以使用的。
以后如果我们自己写了一个比较不错的模块的时候,就可以发布到pypi上面。 |
2019-06-18
2019-07-04
2021-05-23
2021-05-27
2021-05-27