学习笔记-Python-发布自己的python库

一、注册一个 PyPI 账号

如果还没有在 PyPI 上注册账号,需要先注册一个账号。PyPI 官方网站:https://pypi.org/

二、创建和配置setup.py文件

在代码文件夹中创建一个名为 setup.py 的文件。
setup.py 文件是用于定义库的元数据和依赖项的脚本。

setup.py 文件中,需要提供一些信息,如库的名称、版本、作者、描述、依赖项等。

以下是一个示例 setup.py 文件的模板:

复制代码
from setuptools import setup

setup(
    name='your-library-name',
    version='1.0.0',
    author='Your Name',
    author_email='your-email@example.com',
    description='A description of your library',
    packages=['your_library_package'],
    install_requires=[
        'dependency1',
        'dependency2',
    ],
)

我们可以根据实际情况修改以上模板中的信息。

三、打包库

在命令行中进入库代码文件夹,并运行以下命令来打包库:

复制代码
python setup.py sdist bdist_wheel

这将生成一个 dist 文件夹,其中包含我们的库的打包文件。

第一次执行,可能会报如下错:

复制代码
error: invalid command 'bdist_wheel'

这个错误通常是因为没有安装wheel模块。

bdist_wheel命令是用来创建wheel格式的库文件的,而wheel模块是用来支持wheel格式的库文件的创建和安装的。

可以通过以下命令安装wheel模块:

复制代码
pip install wheel

安装完成后,再次运行python setup.py sdist bdist_wheel就不会报错了。

四、上传至PyPI

使用 twine 工具将库上传到 PyPI。

如果是第一次使用,可以在命令行中运行以下命令来安装 twine:

复制代码
pip install twine

然后,进入 dist 文件夹,并运行以下命令来上传库:

复制代码
twine upload dist/*

这将会将我们的库发布到 PyPI 上,供其他人使用和安装。

五、安装和使用

其他人现在可以通过 pip install 命令来安装你的库。他们只需要运行以下命令:

复制代码
pip install your-library-name

就可以在自己的项目中导入和使用我们的库了。

如果是在pycharm

关于缓存更新的时效性

通常来说,PyPI 的同步时间是相对较短的,可能只需要几分钟到几小时的时间。但是,由于网络和服务器负载等因素的影响,有时同步可能需要更长的时间。

如果在发布后的一段时间内发现的库在某些镜像服务器上还不可见,可以耐心等待一段时间,或者尝试刷新镜像服务器缓存。

相关推荐
极序时代GEO品牌优化8 分钟前
杭州极序时代|面向地域、设备与用户画像的动态GEO
人工智能·python·算法·极序时代geo
崔高杰9 分钟前
【自动阅读笔记】Inference-Time Scaling for Generalist Reward Modeling
人工智能·笔记·机器学习
其实防守也摸鱼43 分钟前
HackBar 工具完全指南:信息探测、漏洞验证与安全测试实战
开发语言·人工智能·学习·安全·网络安全·安全威胁分析·安全性测试
qq_22589174661 小时前
基于Python的外卖订单数据分析可视化系统
python·信息可视化·django
MC皮蛋侠客1 小时前
SQLAlchemy 系列(三):声明式映射与 Schema——让类型、默认值和约束一致
数据库·python
会博通·代码搬运工1 小时前
会博通API对接实战:工程企业文档分布式采集系统的技术实现与Python SDK详解
开发语言·分布式·python·线性代数·矩阵·架构·电子档案合规
空堂与归1 小时前
大模型再火,也得先过 class 这一关
python
Muselit1 小时前
Python 泛型:把 list[User] 讲明白
python·fastapi
2501_916007471 小时前
Python实现HTTPS爬虫的完整指南:使用requests、BeautifulSoup、Selenium和Scrapy
爬虫·python·ios·小程序·https·uni-app·iphone
gptAI_plus1 小时前
别把整个仓库塞给 AI:用 Python 生成安全的代码上下文清单
python·chatgpt