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

本文详细介绍了如何将Python模块打包发布为第三方扩展库,并上传到PyPI。内容包括模块的本地发布步骤,如创建文件结构、编写setup.py、构建发布文件、本地安装及使用。此外,还讲解了在PyPI上注册、创建.pypirc文件、上传模块的流程,以及解决命名冲突的问题。最后,文章提到了成功上传后的模块安装和卸载注意事项。
摘要由CSDN通过智能技术生成

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

一、模块的本地发布

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

add.py 的内容结构如下:

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

sub.py 的内容结构如下:

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

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

from distutils.core import setup

setup(
    name='Demo_test',  # 对外模块的名字
    version='1.0.0',  # 版本号
    description='测试本地发布模块',  # 描述
    author='dgw',  # 作者
    author_email='535646343@qq.com',
    py_modules=['Demo_test.add', 'Demo_test.sub'],  # 要发布的模块
)

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 导入该模块进行使用:

示例代码:

from Demo_test import add, sub

add.func()
sub.func()

运行结果:

二、上传模块到 PyPI

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

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

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

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

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

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

[distutils] 
index-servers=pypi 

[pypi] repository = https://upload.pypi.org/legacy/ 
username = 账户名 
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模块转变为命令行工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值