学习笔记-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='[email protected]',
    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 的同步时间是相对较短的,可能只需要几分钟到几小时的时间。但是,由于网络和服务器负载等因素的影响,有时同步可能需要更长的时间。

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

相关推荐
程序员的世界你不懂11 分钟前
Appium+python自动化(八)- 认识Appium- 下章
python·appium·自动化
恸流失41 分钟前
DJango项目
后端·python·django
Julyyyyyyyyyyy2 小时前
【软件测试】web自动化:Pycharm+Selenium+Firefox(一)
python·selenium·pycharm·自动化
萌新小码农‍2 小时前
Spring框架学习day7--SpringWeb学习(概念与搭建配置)
学习·spring·状态模式
蓝婷儿3 小时前
6个月Python学习计划 Day 15 - 函数式编程、高阶函数、生成器/迭代器
开发语言·python·学习
行云流水剑3 小时前
【学习记录】深入解析 AI 交互中的五大核心概念:Prompt、Agent、MCP、Function Calling 与 Tools
人工智能·学习·交互
love530love3 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
一弓虽3 小时前
zookeeper 学习
分布式·学习·zookeeper
苗老大3 小时前
MMRL: Multi-Modal Representation Learning for Vision-Language Models(多模态表示学习)
人工智能·学习·语言模型
水银嘻嘻3 小时前
05 APP 自动化- Appium 单点触控& 多点触控
python·appium·自动化