• python项目模块打包本地发布并上传到到PyPI官网


            当完成某个功能模块开发后,可以将其对外发布,其他开发者也可以以”第三方扩展库“的方式使用自己上传的模块。

    一、模块的本地发布

    1.为模块文件创建如下结构的文件夹、包和模块文件(Demo_test 是对外发布的模块名):

    add.py 的内容结构如下:

    1. def func():
    2. print("'I'm add method!")

    sub.py 的内容结构如下:

    1. def func():
    2. print("'I'm sub method!")

    2.在 new_module 文件夹中创建一个名为 setup.py 文件,在文件中输入以下内容:

    1. from distutils.core import setup
    2. setup(
    3. name='Demo_test', # 对外模块的名字
    4. version='1.0.0', # 版本号
    5. description='测试本地发布模块', # 描述
    6. author='dgw', # 作者
    7. author_email='535646343@qq.com',
    8. py_modules=['Demo_test.add', 'Demo_test.sub'], # 要发布的模块
    9. )

    3.构建一个发布文件。打开终端,cd 到 new_module目录下,键入以下命令:

    python setup.py sdist

    执行完毕后,目录的结构如下:

    4.本地安装模块

            将要发布的模块安装到自己本地计算机上。仍在 cmd 命令行模式下操作,进 setup.py 所在目 录,键入命令:

    python setup.py install

    5.安装成功后,进入 python 工程目录:venv/Lib/site-packages 目录(第三方模块都安装的这里,python 解释器执行时也会搜索这个路径):

    6.使用 import 导入该模块进行使用:

    示例代码:

    1. from Demo_test import add, sub
    2. add.func()
    3. sub.func()

    运行结果:

    二、上传模块到 PyPI

    1、首先在PyPI官网上进行注册登录。

    2、创建用户信息文件 .pypirc 文件

    • 方式1:使用命令(适用 Linux)

            输入命令:python setup.py register 并执行后 ,然后输入用户名和密码即可

    • 方式2:使用文件(适用 windows,Linux)

            在用户目录:user目录下创建一个文件名为 .pypirc, 输入以下内容:   【注意:用户名和密码处不能放引号,否则会报错】

    1. [distutils]
    2. index-servers=pypi
    3. [pypi] repository = https://upload.pypi.org/legacy/
    4. username = 账户名
    5. password = 密码

    Tips: 

    • Linux 的用户目录: ~/.pypirc
    • Windows 的用户目录是: c:/user/用户名

    • 在 Windows 下直接创建不包含文件名的文件会失败,因此创建时文件名为 “.pypirc.”, 前后都有两个点即可

    3、上传并远程发布:

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

    上传时报了上面这个错误,查看官网给的解释如下:

            可能是模块命名问题,与他人的模块名有冲突,我这儿把模块的名字后面加了一个数字521,将原模块名改为Demo_test521,让后再将上面的所有操作再重新执行一下。

    本次上传成功:

    上传成功后就可以看到你上传的模块了

            安装同样可以使用 pip 工具进行安装:pip install Demo_test521,或者通过 PyCharm 中的其它安装方式进行安装。

    注意:记得卸载之前安装的模块名哦~

     参考博文:

    【Python】【PyPI】twine模块打包python项目上传pypi - 淡怀 - 博客园

    【python】上传 Python 包到 pypi 官网_普通网友的博客-CSDN博客_上传到pypi

    将Python模块转变为命令行工具 - 走看看

    将Python模块转变为命令行工具

  • 相关阅读:
    tensor补充
    操作系统实现-中断及任务调度
    现在加入3D游戏建模有没有前景,次世代全流程来啦
    LeetCode刷了500+了总结了算法必背模板直接拿到字节实习offer
    安装micropython到esp8266
    会议OA之我的会议(排座&送审)
    AcWing 4405. 统计子矩阵(每日一题)
    CMake与makefile的区别
    SpringBoot整合MongoDB
    Linux操作系统
  • 原文地址:https://blog.csdn.net/weixin_44799217/article/details/125987023