使用pip install安装自定义工具包(PyPI平台)

目录

Step1: 在PyPI上注册账号

Step2: 准备工具包源文件

Step3: 打包自定义工具

​Step4: 上传打包好的自定义工具至PyPI

​Step5: 安装并测试自定义工具包

参考资料

 自定义源文件已上传至资源提供下载:nmstools.zip-Python文档类资源-CSDN下载


    PyPI (Python Package Index)是Python软件包的集合,平时使用pip install安装的包均可在上面找到,作为一个开源平台,也可以贡献自己开发的工具供大家使用,只需要通过pip install **即可一键安装。

使用pip install安装自定义工具包(PyPI平台)_第1张图片

Step1: 在PyPI上注册账号

  • 进入PyPI官网:PyPI · The Python Package Index,填写邮箱、用户名、密码等信息进行注册(后面上传自定义包时会用到用户名和密码)。

Step2: 准备工具包源文件

  • 在本地调试好工具包,确保能够在本地调用
  • 按如下方式组织工具包,并添加必要的setup.py文件
package_name
├── LICENSE            # 可选
├── README.md          # 可选
├── package_name
│   ├── ××1.py         # 具体实现文件
│   ├── ××2.py
│   └── __init__.py    # 新建一个空白文件
└── setup.py           # 使用setuptools配置自定义工具包信息
  • 编写setup.py配置文件
import setuptools

requirements = ['numpy']       # 自定义工具中需要的依赖包

setuptools.setup(
    name="package_name",       # 自定义工具包的名字
    version="1.0",             # 版本号
    author="author",           # 作者名字
    author_email="××@××.com",  # 作者邮箱
    description="description", # 自定义工具包的简介
    license='MIT-0',           # 许可协议
    url="××.com",              # 项目开源地址
    packages=setuptools.find_packages(),  # 自动发现自定义工具包中的所有包和子包
    install_requires=requirements,  # 安装自定义工具包需要依赖的包
    python_requires='>=3.5'         # 自定义工具包对于python版本的要求
)

Step3: 打包自定义工具

  • 激活conda环境,切换到setup.py文件的同级目录,运行以下命令,分别在setup.py文件的同级目录下生成编译文件夹/build、文件/dist/**.tar.gz、文件/dist/**.egg、文件/dist/**.whl,其中egg文件支持easy_install,whl文件支持pip install
python setup.py build sdist bdist_egg bdist_wheel

使用pip install安装自定义工具包(PyPI平台)_第2张图片

Step4: 上传打包好的自定义工具至PyPI

  • 安装与PyPI交互的twine库
pip install twine
  • 切换到setup.py文件的同级目录,运行以下命令将Step3中生成的dist文件夹上传至PyPI,此时需要输入Step1中的用户名和密码,上传成功后,会提示至官网查看
twine upload dist/*

使用pip install安装自定义工具包(PyPI平台)_第3张图片

使用pip install安装自定义工具包(PyPI平台)_第4张图片

Step5: 安装并测试自定义工具包

  • 在conda环境中安装自定义工具包
pip install package_name

  • 安装成功后,导入即可使用
from package_name import package_name
  • 测试实例

使用pip install安装自定义工具包(PyPI平台)_第5张图片

参考资料

  1. 手把手教你发布一个Python包_Alex-CSDN博客
  2. Python 在PyPI上分享与下载自己的库(pip install xxx)_Jeffs007的博客-CSDN博客
  3. Python的egg包_feng98ren的专栏-CSDN博客_egg python
  4. nms源代码来自Fast R-CNN的实现目标检测 (Object Detection) (一): 评估标准 (mAP,IOU,NMS,FPS)_xjp_xujiping的博客-CSDN博客

Juliet 于 2022.01

你可能感兴趣的:(技术宅,python,pypi)