上传自己的包到pypi

一. 首先,需要一个pypi账号

https://pypi.org/

二. 创建自己的包程序

如图中所示,changeable就是准备的包文件。其余文件均属于Changeable项目,不属于待上传的包文件。

需要注意的是:changeable 必须存在__init__.py,是一个python包。

三. 编写setup.py并进行打包

# -*- coding: utf-8 -*-
# @Author  : LG


from setuptools import setup, find_packages

setup(
    name = "changeable",                                # 包名
    version = "0.0.2",                                  # 版本号
    author = "yatengLG",
    author_email = "yatenglg@qq.com",
    description="Data transforms for object detection.",
    long_description="Data transforms for object detection base on pytorch.",
    url="https://github.com/yatengLG/Changeable",  # 项目相关文件地址

    keywords = ("pip", "changeable"),
    license = "MIT Licence",

    packages = find_packages(),
    include_package_data = True,
    platforms = "any",

    python_requires=">=3.6",                            # python 版本要求
    install_requires = ["torch",                        # 依赖包
                        "numpy",
                        "pillow",
                        "opencv-python"
                        ]
)

运行下述命令打包

# 构建源码发布包
python setup.py sdist

在项目文件夹下生成dist文件夹。

changeable-0.0.2.tar.gz为打包后的包文件。上传到pypi后,即可通过pip install changeable进行安装。

也可以通过 pip install dist/changeable-0.0.2.tar.gz 使用包文件直接进行安装。

四. 上传pypi

上传过程需要用到twine

可以通过“`pip install twine“`进行安装

运行下述命令进行上传:

twine upload -u pypi账号 -p pypi密码 dist/changeable-0.0.2.tar.gz

五. 杂项

  1. 在开发包过程中,需要进行频繁测试。

可以直接通过“`python setup.py install“`将开发中的包安装到本地。但对包进行修改后,需要重新安装,较为麻烦。

可以通过“`python setup.py develop“`进行开发中的测试。该方法不进行包安装,而是对包进行软连接,指向当前正在开发的包。包中内容更改后,可以直接生效。