一:命令介绍
1.创建/删除用户
devpi use https://www.devpi.com/devpi/
devpi user -c devpiuser password=''
devpi login devpiuser --password=''
devpi index -c dev bases=root/pypi
devpi user devpiuser -y --delete # 删除用户
2.#仅下载
接着先在本地下载好所需的wheel包,requirements.txt文件内容即为我们需要的 Python 库列表
pip wheel --wheel-dir /tmp/wheelhouse -r requirements.txt
如果从 pip 源下载的库已经是 wheel 包的话文件将会被直接放在 /tmp/wheelhouse 内,如果是
tar 包,pip 会先 build 出 wheel 包,这可能需要一些时间
3.文件上传
下载完成后如果本地环境安装了devpi客户端,可以直接上传 wheel 包,不过由于我们在创建容器时已经
把 wheelhouse 文件夹挂载进去,也可以在在容器里直接操作
3.无法删除devpi包时
提示:403 Forbidden: cannot delete version on non-volatile index
devpi index <user>/<index> volatile=True
devpi index root/dev volatile=True
devpi remove -y torch
二:创建部署案例包验证
#私有仓库使用demo
1、创建一个python项目,目录包含如下内容
$ tree linode_example
linode_example
├── linode_example
│ └── init.py
└── setup.py
1 directory, 2 files
2、编写__init__.py文件
cat linode_example/linode_example/init.py
def hello_word(): print("hello world")
3、编写setup.py,用于将项目打成pip包
cat linode_example/setup.py
from setuptools import setup
setup(
name='linode_example',
packages=['linode_example'],
description='Hello world enterprise edition',
version='0.1', #版本号
url='http://github.com/example/linode_example',
author='Linode',
keywords=['pip','linode','example']
)
4、将项目打包
python3 setup.py sdist
命令执行后会在项目根目录下生成一个dist目录,dist目录下保存着制作好的tar包,新的目录结构如下:
$ tree linode_example
linode_example
├── dist
│ └── linode_example-0.1.tar.gz
├── linode_example
│ └── __init__.py
├── linode_example.egg-info
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ ├── dependency_links.txt
│ └── top_level.txt
└── setup.py
5、将包上传至仓库
twine upload --repository-url http://127.0.0.1:3141/test/dev/ dist/*
test为之前在pypi仓库中建立的用户
dev为之前在pypi仓库中建立的索引
上传时需要输入用户名密码:test/test
#
twine upload --repository-url http://192.168.102.237:3141/root/devpi/ dist/*
twine upload -u root -p gH2023dev --verbose --repository-url http://192.168.102.237:3141/root/dev/ dist/*
6、使用私有仓库的包
pip install -i http://localhost:3141/test/dev/ --trusted-host localhost linode_example
pip install -i http://192.168.102.237:3141/root/dev/ --trusted-host 192.168.102.237 linode_example
7、验证下载的包能否使用
删除