docker devpi搭建本地pypi源

 2023-12-24  阅读 3  评论 0

摘要:前一段时间开发需要经常使用 pip 下载,虽然把 pip 源改成了国内源,但我对速度还是不满意,更为重要的是集成 测试环境是离线的,要在集成测试环境开发显然需要搭建自己的本地 pip源。在使用 devpi 之前我曾使用过 pip2pi,但有个 bug 导致离线环境下的 tox 命令总是失败,所

docker devpi搭建本地pypi源

前一段时间开发需要经常使用 pip 下载,虽然把 pip 源改成了国内源,但我对速度还是不满意,更为重要的是集成
测试环境是离线的,要在集成测试环境开发显然需要搭建自己的本地 pip源。在使用 devpi 之前我曾使用过 pip2pi,但有个 bug 导致离线环境下的 tox 命令总是失败,所以最后采用 devpi 搭建 pip源。这里使用 部署,方便又快速,如果不小心弄崩了也只需要重新运行就好了。如果你的环境没有安装 docker 可以自行搜素安装方法,比如 docker 社区的文档 install docker(https://docs.docker.com/install/)。如果你是 Centos 用户,可以使用以下方法安装

sudo yum update  sudo yum -y install docker  sudo systemctl enable docker  sudo systemctl start docker

接下来使用使用 docker 部署一个 Python 本地镜像源,我们可以使用 docker hub 上已有的镜像,我这里选择的是
muccg/devpi(https://hub.docker.com/r/muccg/devpi) 这个镜像

# 设置 devpi 主机管理员密码  DEVPI_PASSWORD = 123    mkdir -p /src/docker/devpi  mkdir /tmp/wheelhouse    docker run -d --name devpi     --publish 3141:3141     --volume /tmp/wheelhouse:/wheelhouse    --volume /srv/docker/devpi:/data     --env=DEVPI_PASSWORD=$DEVPI_PASSWORD     --restart always     muccg/docker-devpi    

接着先在本地下载好所需的wheel包,requirements.txt文件内容即为我们需要的 Python 库列表

pip wheel --wheel-dir /tmp/wheelhouse -r requirements.txt  

如果从 pip 源下载的库已经是 wheel 包的话文件将会被直接放在 /tmp/wheelhouse 内,如果是
tar 包,pip 会先 build 出 wheel 包,这可能需要一些时间。下载完成后 wheelhouse 内容类似

ll /tmp/wheelhouse  total 524K  -rwxrwxrwx 1 rookie rookie 155K Apr 6 23:40 certifi-2019.3.9-py2.py3-none-any.whl  -rwxrwxrwx 1 rookie rookie 131K Apr 6 23:40 chardet-3.0.4-py2.py3-none-any.whl  -rwxrwxrwx 1 rookie rookie 58K Apr 6 23:40 idna-2.8-py2.py3-none-any.whl  -rwxrwxrwx 1 rookie rookie 57K Apr 6 23:40 requests-2.21.0-py2.py3-none-any.whl  -rwxrwxrwx 1 rookie rookie 116K Apr 6 23:40 urllib3-1.24.1-py2.py3-none-any.whl  

下载完成后如果本地环境安装了devpi客户端,可以直接上传 wheel 包,不过由于我们在创建容器时已经

wheelhouse 文件夹挂载进去,也可以在在容器里直接操作

# 进入容器  docker exec -it -u root devpi bash    # 登陆并上传  devpi use http://<host_ip>:3141/root/public --set-cfg  devpi login root 123  devpi upload --from-dir /wheelhouse    

上传完成后可以使用 http://<host_ip>:3141 查看 pip 本地源主机状态。

若要临时使用可以使用 pip install 的 –index 和 –trusted-host 选项

pip install --index http://<host_ip>:3141/root/public/+simple/         --trusted-host <host_ip>  

或者修改 pip.conf 文件永久使用

# vim ~/.pip/pip.conf  [global]  index_url = http://<host_ip>:3141/root/public/+simple/  trusted-host = <host_ip>  [search]  index = http://<host_ip>:3141/root/public/  

提示:现在腾讯云新人点击注册然后实名认证后,可以点此一键领取2860元代金券,然后点此进入腾讯云活动页面参加优惠力度非常大的腾讯云3年和5年时长服务器活动,一次性买多年,免得续费贵,这样就可以获得最大的优惠折扣,省钱。

版权声明:xxxxxxxxx;

原文链接:https://lecms.nxtedu.cn/yunzhuji/131008.html

发表评论:

验证码

管理员

  • 内容1196554
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:admin@qq.com
注册登录
注册帐号
登录帐号

Copyright © 2022 LECMS Inc. 保留所有权利。 Powered by LECMS 3.0.3

页面耗时0.0106秒, 内存占用357.8 KB, 访问数据库18次

  • 我要关灯
    我要开灯
  • 客户电话
    lecms

    工作时间:8:00-18:00

    客服电话

    电子邮件

    admin@qq.com

  • 官方微信

    扫码二维码

    获取最新动态

  • 返回顶部