一. 首先,需要一个pypi账号
二. 创建自己的包程序
如图中所示,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
五. 杂项
- 在开发包过程中,需要进行频繁测试。
可以直接通过“`python setup.py install“`将开发中的包安装到本地。但对包进行修改后,需要重新安装,较为麻烦。
可以通过“`python setup.py develop“`进行开发中的测试。该方法不进行包安装,而是对包进行软连接,指向当前正在开发的包。包中内容更改后,可以直接生效。