測試環境是離線的,要在集成測試環境開發顯然需要搭建自己的本地 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热热久久| 午夜免费啪视频在线无码| 亚洲中文字幕无码永久在线| 亚洲丰满熟女一区二区蜜桃| 中文www新版资源在线| 成人毛片无码一区二区三区| xx性欧美肥妇精品久久久久久| 极品无码国模国产在线观看| 永久天堂网 av手机版| 网红主播国产一区在线| 中文字幕亚洲天堂| 久久精品日韩av无码| 激情综合网激情综合| 免费一级毛片完整版在线看| 国产精品热久久无码av| 青青草原国产精品啪啪视频| 最新国产精品亚洲| 久久久精品2019中文字幕之3| 91热久久免费精品99| 国产 亚洲 制服 无码 中文 | 性欧美三级在线观看| 亚洲AV无码东方伊甸园| 人妻一本久道久久综合久久鬼色| 色 亚洲 日韩 国产 综合| 中文日产乱幕九区无线码| 亚洲精品成人片在线观看精品字幕 | 日本边吃奶边摸边做在线视频| 国产在线精彩自拍视频| 亚洲123| 日韩综合在线观看| 久久永久精品免费视频| 99亚洲男女激情在线观看| 综合AV| 综合成人亚洲| 无码毛片高潮一级一免费| 人妻无码| 午夜福利国产精品小视频| 亚洲资源在线| 国产无套无码AⅤ在线观看| 日韩欧美视频一区二区在线观看|