本文将演示将python项目打包为模块并上传至pip私服,然后将其从私服下载并使用,从而实现模块化编程的过程。
1.环境准备
pip install --upgrade setuptools pip install --upgrade wheel pip install --upgrade twin #设置镜像源 pip config set global.index-url http://127.0.0.1:8081/repository/pypi_group_test/simpl
2. 示例项目目录如下:
说明:每个包下面都必须有一个__init__.py文件(可以为空),打包脚本内容
setup.cfg
[metadata] name = totems_pycommon version = 1.0.0 [options] python_requires = >=3.6 packages = find # 依赖 install_requires= kafka==1.2.0 requests
setup.py
from setuptools import find_packages, setup packages = [ package for package in find_packages(where=".", exclude=("*.test",)) ] setup(packages=packages)
2.在setup.py所在目录执行打包命令
python setup.py sdist bdist_wheel
打包成功后目录下会出来dist目录,包含如下文件:
3.使用twine 将打好的包上传到远程仓库,这里选择上传到本地搭建的Nsxus私服。
twine upload --repository-url http://127.0.0.1:8081/repository/hosted_test/ dist/*
其中hosted_test是我在Nsxus上创建的本地仓库
查看上传的包:
4.安装包
pip install totems_pycommon
5.测试使用