濮阳杆衣贸易有限公司

主頁 > 知識庫 > 使用docker+devpi搭建本地pypi源的方法

使用docker+devpi搭建本地pypi源的方法

熱門標(biāo)簽:金融行業(yè)外呼線路 賀州市地圖標(biāo)注app 東莞人工智能電銷機(jī)器人供應(yīng)商 智能電話機(jī)器人線路 長沙開福怎么申請400電話 廣州電銷機(jī)器人系統(tǒng)圖 百度地圖標(biāo)注要不要錢 江蘇電銷外呼防封系統(tǒng)是什么 高德地圖標(biāo)注無營業(yè)執(zhí)照

前一段時(shí)間開發(fā)需要經(jīng)常使用 pip 下載,雖然把 pip 源改成了國內(nèi)源,但我對速度還是不滿意,更為重要的是集成
測試環(huán)境是離線的,要在集成測試環(huán)境開發(fā)顯然需要搭建自己的本地 pip 源。在使用 devpi 之前我曾使用過 pip2pi,但有個(gè) bug 導(dǎo)致離線環(huán)境下的 tox 命令總是失敗,所以最后采用 devpi 搭建 pip 源。這里使用 docker 部署,方便又快速,如果不小心弄崩了也只需要重新運(yùn)行 docker 容器就好了。如果你的環(huán)境沒有安裝 docker 可以自行搜素安裝方法,比如 docker 社區(qū)的文檔 install docker。如果你是 Centos 用戶,可以使用以下方法安裝

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

接下來使用使用 docker 部署一個(gè) Python 本地鏡像源,我們可以使用 docker hub 上已有的鏡像,我這里選擇的是
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 庫列表

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

如果從 pip 源下載的庫已經(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 包,不過由于我們在創(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/

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:滄州 張家界 洛陽 廊坊 松原 玉樹 北京 永州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用docker+devpi搭建本地pypi源的方法》,本文關(guān)鍵詞  使用,docker+devpi,搭建,本地,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用docker+devpi搭建本地pypi源的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用docker+devpi搭建本地pypi源的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    两当县| 历史| 克什克腾旗| 青铜峡市| 甘泉县| 民丰县| 康马县| 安塞县| 永善县| 龙泉市| 秦安县| 娄底市| 绍兴市| 波密县| 武宁县| 伽师县| 阿拉善右旗| 娱乐| 安远县| 惠州市| 山阳县| 五寨县| 青河县| 花莲县| 迁西县| 巨鹿县| 英超| 龙里县| 柳州市| 南川市| 玉环县| 凤城市| 蒙山县| 南京市| 崇礼县| 中宁县| 重庆市| 芮城县| 鄂托克旗| 中山市| 城市|