測試環境是離線的,要在集成測試環境開發顯然需要搭建自己的本地 pip源。在使用 devpi 之前我曾使用過 pip2pi,但有個 bug 導致離線環境下的 tox 命令總是失敗,所以最后采用 devpi 搭建 pip源。這里使用 docker 部署,方便又快速,如果不小心弄崩了也只需要重新運行docker容器就好了。如果你的環境沒有安裝 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/
贊(4)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » docker devpi搭建本地pypi源

登錄

找回密碼

注冊

主站蜘蛛池模板: 西乌| 亚洲精品一区二区三区综合| 亚洲中文无码手机永久| 老师扒下内裤让我爽了一夜| 国产成人精品av| 丰满熟妇乱又伦在线无码视频| 日韩免费码中文在线观看| 久久精品国产99久久久古代| 男女18禁啪啪无遮挡激烈网站| 欧洲码亚洲码的区别入口| 国产嫩草精品网亚洲av| 精品一区二区不卡免费| 国产农村老熟女国产老熟女| 加勒比无码人妻东京热| 日韩欧美猛交xxxxx无码| 亚洲av一区二区在线看| 国产日韩一区二区在线| √天堂资源地址在线官网| 日韩av天堂综合网久久| 在线涩涩免费观看国产精品 | 久久一本人碰碰人碰| 国产精品免费第一区二区| 亚洲人成网站免费播放| 中文文字幕文字幕亚洲色| 无码精品一区二区免费AV| 韩国无码AV片午夜福利| 杨浦区| 久久综合综合久久高清免费| 久久综合久久美利坚合众国| 99中文字幕精品国产| 老司机精品成人无码AV| 久久综合给合久久狠狠狠| 久女女热精品视频在线观看| 成人免费A级毛片无码片2022| 好男人社区影视在线WWW| 亚洲欧洲美洲无码精品va| 天干天干啦夜天干天2017| 二区三区亚洲精品国产| 平邑县| 久9re热视频这里只有精品免费| 亚洲欧美色一区二区三区|