安装部署pip私有源
安装部署pip私有源
本文档介绍 安装部署pip私有源 的相关内容。
安装软件包
pip install -U devpi # 这将安装devpi-client 和 devpi-server 这两个软件包 https://devpi.net/docs/devpi/devpi/latest/+doc/index.html#
生成配置文件
devpi-server --init --no-root-pypi --host 0.0.0.0 --port 88 --threads 4 --serverdir /data/devpi-server --gen-config 说明: -init 初始化操作 -no-root-pypi 不创建root根目录 -host 绑定的地址 -port 绑定的端口 -threads 多线程 -serverdir 数据文件目录 gen-config 生成配置文件默认 启动
cat gen-config/crontab devpi-server --start --init --no-root-pypi --host 0.0.0.0 --port 88 --threads 4 --serverdir /data/devpi-server pip打包及上传
python setup.py <params> # params 的值有: sdist create a source distribution (tarball, zip file, etc.) bdist create a built (binary) distribution bdist_dumb create a "dumb" built distribution bdist_rpm create an RPM distribution bdist_wininst create an executable installer for MS Windows bdist_egg create an "egg" distribution # sdist 可以支持上传到 pypi python setup.py sdist # 然后根目录中会出现 dist 目录存放打包文件 # devpi 打包是根据tag来,当前tag来定义版本,如果有改动会自动加上dev git tag 1.0.0 devpi upload 上传的包的版本为1.0.0,不会带dev 常用命令
# 客户端连接服务端 devpi use http://xxxx.xxxx.to # 首次登陆 devpi login root --password='' # 首次密码为空 # 修改密码 devpi user -m root password=YOUR_PASSWORD # 退出登陆 devpi logoff # 创建新用户 devpi user -c opsdev password=YOUR_PASSWORD email=opsdev@example.com # 可不使用邮箱 # 登陆新用户 devpi login opsdev --password=YOUR_PASSWORD # 创建索引 devpi index -c dev # 使用索引 devpi use opsdev/dev # 上传软件包 devpi upload #需要在setup.py所以的目录下 # 推送软件包 devpi push testpy==0.3 opsdev/dev # 需要在testpy所在的索引下进行推送 # 查看软件包 devpi list testpy # 删除软件包 devpi remove -y testpy # 删除索引 devpi index --delete root/test # 查看所有索引 devpi index -l # 查看用户 devpi user -l # 查看索引配置 devpi getjson /opsdev 配置一个内部和外部源
https://www.python-gist.com/2018/01/14/%E6%90%AD%E5%BB%BA%E5%86%85%E9%83%A8python-registry-%E4%BD%BF%E7%94%A8douban%E9%95%9C%E5%83%8F/
# 创建一个外部缓存索引 devpi index -c douban type=mirror mirror_url=http://pypi.douban.com/simple/ # 创建一个具有外部缓存的索引 devpi index -c opsdev/dev bases=opsdev/douban devpi index opsdev/dev bases=opsdev/douban # 修改属性 devpi index root/ops-pypi title="rocky" devpiservice
[Unit] Requires=network-online.target After=network-online.target [Service] Type=forking PIDFile=/Yum/cloud/pypi/.xproc/devpi-server/xprocess.PID Restart=always ExecStart=/opt/pyenv/devpi/bin/devpi-server --no-root-pypi --host 0.0.0.0 --port 8899 --threads 4 --serverdir /Yum/cloud/pypi --start ExecStop=/opt/pyenv/devpi/bin/devpi-server --no-root-pypi --host 0.0.0.0 --port 8899 --threads 4 --serverdir /Yum/cloud/pypi --stop User=root SuccessExitStatus=SIGKILL [Install] WantedBy=multi-user.target 本文由作者按照 CC BY 4.0 进行授权