測(cè)試環(huán)境是離線的,要在集成測(cè)試環(huán)境開(kāi)發(fā)顯然需要搭建自己的本地 pip源。在使用 devpi 之前我曾使用過(guò) pip2pi,但有個(gè) bug 導(dǎo)致離線環(huán)境下的 tox 命令總是失敗,所以最后采用 devpi 搭建 pip源。這里使用 docker 部署,方便又快速,如果不小心弄崩了也只需要重新運(yùn)行docker容器就好了。如果你的環(huán)境沒(méi)有安裝 docker 可以自行搜素安裝方法,比如 docker 社區(qū)的文檔 install docker(https://docs.docker.com/install/)。如果你是 Centos 用戶,可以使用以下方法安裝
sudo yum update
sudo yum -y install docker
sudo systemctl enable docker
sudo systemctl start docker
接下來(lái)使用使用 docker 部署一個(gè) Python 本地鏡像源,我們可以使用 docker hub 上已有的鏡像,我這里選擇的是
muccg/devpi(https://hub.docker.com/r/muccg/devpi) 這個(gè)鏡像
# 設(shè)置 devpi 服務(wù)器管理員密碼
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文件內(nèi)容即為我們需要的 Python 庫(kù)列表
pip wheel --wheel-dir /tmp/wheelhouse -r requirements.txt
如果從 pip 源下載的庫(kù)已經(jīng)是 wheel 包的話文件將會(huì)被直接放在 /tmp/wheelhouse 內(nèi),如果是
tar 包,pip 會(huì)先 build 出 wheel 包,這可能需要一些時(shí)間。下載完成后 wheelhouse 內(nèi)容類似
于
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
下載完成后如果本地環(huán)境安裝了devpi客戶端,可以直接上傳 wheel 包,不過(guò)由于我們?cè)趧?chuàng)建容器時(shí)已經(jīng)
把 wheelhouse 文件夾掛載進(jìn)去,也可以在在容器里直接操作
# 進(jìn)入容器
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 本地源服務(wù)器狀態(tài)。
若要臨時(shí)使用可以使用 pip install 的 –index 和 –trusted-host 選項(xiàng)
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/
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。郵箱:3140448839@qq.com。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處:
三五互聯(lián)知識(shí)庫(kù) »
docker devpi搭建本地pypi源
主站蜘蛛池模板:
亚洲中文字幕综合小综合|
国产成人亚洲无吗淙合青草|
日韩高清亚洲日韩精品一区二区|
亚卅精品|
天天躁日日躁狠狠躁欧美老妇|
国内av网站|
丰满妇女强制高潮18xxxx|
成人亚洲综合av天堂|
亚洲一级一区二区三区|
天堂国产一区二区三区四区不卡|
欧洲精品码一区二区三区|
免费人成视频在线|
亚洲日本人成网站在线观看|
激情综合网五月婷婷|
人妻系列无码专区免费
|
国产98在线传媒在线视频|
国产精品一区二区三区色|
A级片免费|
男女男精品网站在线观看|
国产精品国产三级国AV|
国产精品 无码专区|
午夜亚洲国产精品福利|
按摩师玩弄少妇到高潮hd|
国内自拍视频在线观看播放|
亚洲日本精品国产第一区|
久久久久久久岛国免费观看|
av在线免费观看亚洲|
深夜福利小视频|
日本一级午夜福利免费区|
又爽又大又光又色的午夜视频|
欧美日韩精品一区二区|
伊人激情综合中文字幕|
国产亚洲精品黑人粗大精选|
欧美中文综合在线视频|
国产午夜一级鲁丝片|
欧美日韩免费高清视视频在线|
国产裸体永久免费无遮挡|
国产免费网站看v片在线观看|
天天久久狠狠|
免费看国产成年无码av|
亚洲国产精品综合久久2007|