測試環境是離線的,要在集成測試環境開發顯然需要搭建自己的本地 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热只有频精品8| 国产精品久久久久无码网站| 中国极品少妇xxxxx| 日韩中文字幕人妻一区| 最新亚洲av日韩av二区| 周口市| 亚洲色大成网站WWW久久| 精品一区二区三区不卡| 丰满人妻无码∧v区视频| 中文字幕99国产精品| 精品国精品无码自拍自在线| 无码AV无码免费一区二区| 亚洲免费最大黄页网站| 国产精品人妻中文字幕| 日本一卡2卡3卡四卡精品网站| 日日碰狠狠添天天爽五月婷| 亚洲精品www久久久久久| 亚洲乱码日产精品bd在线| 午夜精品一区二区三区免费视频| 俄罗斯美女真人性做爰| 国产成人av三级在线观看| 亚洲成a人片在线视频| 亚洲美免无码中文字幕在线 | 亚洲精品日韩在线观看| 国产专区精品三级免费看| 日韩精品无码一区二区视频| 国产精品理论片| 巴林左旗| 国产亚洲精品精品精品| 狠狠色噜噜狠狠狠狠777米奇| 国产高潮又爽又刺激的视频| 国产95在线 | 欧美| 国产午夜精品视频在线播放| 成人亚洲一区二区三区在线| 国产精品免费看久久久| 精品人妻伦九区久久aaa片69| 日本欧美一区二区三区在线播放 | 欧美人成精品网站播放|