Python模块资源仓库PyPI的使用教程

当我们完成一个module的开发之后,如果希望真正以第三方扩展库的方式来分享给其他的开发人员使用它。那么我们需要将它发布到一个公共的资源仓库:PyPI。首先看一下PyPI官方链接
Python模块资源仓库PyPI的使用教程_第1张图片
第一步:PyPI注册账户(Register)

记录相应的个人信息

第二步:接收邮件([PyPI] Email verification)

点击 click确认

第三步:进入账户
Python模块资源仓库PyPI的使用教程_第2张图片
第四步:Windows下创建用户信息文件.pypirc

在Linux上,需要上传的时候 执行python setup.py register 然后就可以输入用户名 密码即可

在Windows下的话,我们直接在用户家目录里面创建一个 信息文件.pypirc
Python模块资源仓库PyPI的使用教程_第3张图片

[distutils]
index-servers=pypi

[pypi]
repository = https://pypi.python.org/pypi
username = username
password = password

等下我们在上传module的时候,它会自动的读取该文件。(这个文件设置的方式也适用于Linux

第五步:为我们的module创建目录结构dir(dir里面包含我们的package)(注:一般而言 目录名==modulename)
第六步:在与package同级(就是dir下面创建setup.py 内容如下:)

from setuptools import setup, find_packages
from distutils.core import setup

setup(
    name = "modulename",# 对外的模块名字
    version = "1.0",# 版本号
    keywords = ("test", "xxx"),
    description = "这是宋宝宝发布的一个module!",# 信息描述
    long_description = "这是宋宝宝发布的一个module! 纯属开心",# 详细描述
    license = "MIT Licence", # 许可证

    url = "http://songbaobao.com", # 一个URL(假的)
    author = "songbaobao",# 作者
    author_email = "[email protected]",# 这是宋宝宝的邮箱啊(不是真的)

    packages = find_packages(),
    include_package_data = True,
    platforms = "any",
    install_requires = [],

    scripts = [],
    entry_points = {
        'console_scripts': [
            'test = test.help:main'
        ]
    }
    py_modules=["songbaobao.demo1","songbaobao.demo2"] # 要发布的模块
)

在这里插入图片描述
第七步:构建一个发布文件(在上面的dir目录下)执行:

python setup.py sdist

注:然后生成的.gz.tar 包就是最后给别人使用的包了。
在这里插入图片描述
第八步:将发布安装到本地之后 cmd下执行命令:

python setup.py install

在这里插入图片描述
第九步:在安装完成之后,进入E:\Tsinghua_University\Python_Study\new\venv\Lib\site-packages\目录(我们上面也说了这是第三方module安装目录)查看
在这里插入图片描述
第十步:在setting-->Project Interpreter里面进行安装(这个和我们上次安装的pygame类似)
在这里插入图片描述
第十一步:进行使用
在这里插入图片描述
第十二步:上传并远程发布
在setup.py文件所在的目录下面执行:

python setup.py sdist upload

Python模块资源仓库PyPI的使用教程_第4张图片
第十三步:管理自己的module
Python模块资源仓库PyPI的使用教程_第5张图片
第十四步:模块发布完成后,其他人只需要使用 pip 就可以安装你的模块文件。

pip install packagename

或者在PyCharm里面:
Python模块资源仓库PyPI的使用教程_第6张图片
假如我们用的package更新了(别人更新了模块),我们可以通过 update 参数来更新:
Python模块资源仓库PyPI的使用教程_第7张图片

你可能感兴趣的:(Python模块资源仓库PyPI的使用教程)