摘要:前一段時(shí)間開發(fā)需要經(jīng)常使用下載,雖然把源改成了國(guó)內(nèi)源,但我對(duì)速度還是不滿意,更為重要的是集成測(cè)試環(huán)境是離線的,要在集成測(cè)試環(huán)境開發(fā)顯然需要搭建自己的本地源。在使用之前我曾使用過(guò),但有個(gè)導(dǎo)致離線環(huán)境下的命令總是失敗,所以最后采用搭建源。
前一段時(shí)間開發(fā)需要經(jīng)常使用 pip 下載,雖然把 pip 源改成了國(guó)內(nèi)源,但我對(duì)速度還是不滿意,更為重要的是集成
測(cè)試環(huán)境是離線的,要在集成測(cè)試環(huán)境開發(fā)顯然需要搭建自己的本地 pip 源。在使用 devpi 之前我曾使用過(guò) 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
接下來(lái)使用使用 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/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://:3141/root/public --set-cfg devpi login root 123 devpi upload --from-dir /wheelhouse
上傳完成后可以使用 http://
若要臨時(shí)使用可以使用 pip install 的 --index 和 --trusted-host 選項(xiàng)
pip install --index http://:3141/root/public/+simple/ --trusted-host
或者修改 pip.conf 文件永久使用
# vim ~/.pip/pip.conf [global] index_url = http://:3141/root/public/+simple/ trusted-host = [search] index = http:// :3141/root/public/
最后,歡迎關(guān)注我的僵尸微信公眾號(hào) :) CodeWar
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43541.html
摘要:前一段時(shí)間開發(fā)需要經(jīng)常使用下載,雖然把源改成了國(guó)內(nèi)源,但我對(duì)速度還是不滿意,更為重要的是集成測(cè)試環(huán)境是離線的,要在集成測(cè)試環(huán)境開發(fā)顯然需要搭建自己的本地源。在使用之前我曾使用過(guò),但有個(gè)導(dǎo)致離線環(huán)境下的命令總是失敗,所以最后采用搭建源。 前一段時(shí)間開發(fā)需要經(jīng)常使用 pip 下載,雖然把 pip 源改成了國(guó)內(nèi)源,但我對(duì)速度還是不滿意,更為重要的是集成測(cè)試環(huán)境是離線的,要在集成測(cè)試環(huán)境開發(fā)顯...
摘要:命令配置一個(gè)調(diào)用,使用在索引上的與兼容的頁(yè)來(lái)尋找和下載包?,F(xiàn)在我們切回然后尋找我們的發(fā)行文件我們看到被包含在兩個(gè)索引中,讓我們移除的發(fā)行版如果你沒有指定選項(xiàng),你將被詢問(wèn)確認(rèn)刪除的交互式操作。 注:該文的原文是 Quickstart: uploading, testing, pushing releases,來(lái)自于 devpi 的官方文檔。 該快速入門文檔將引導(dǎo)你為你的 Pyt...
摘要:與業(yè)務(wù)相關(guān)的鏡像可以使用私有的,提高安全性。其后端存儲(chǔ)方案有兩個(gè)。能不能使用國(guó)內(nèi)存儲(chǔ)服務(wù)如新浪云存儲(chǔ),做一個(gè)私有呢在進(jìn)一步了解的過(guò)程中,筆者了解到實(shí)際上服務(wù)本身提供機(jī)制,可以整合更多的存儲(chǔ)服務(wù)整合。 最近使用Docker的同學(xué)越來(lái)越多。 使用Docker的時(shí)候需要了解Registry服務(wù) - 即鏡像存儲(chǔ)服務(wù)。 Registry是一個(gè)管理Docker鏡像的服務(wù),當(dāng)使用Docker的P...
摘要:一基礎(chǔ)環(huán)境由于不是職業(yè)的開發(fā)者,因此環(huán)境是基于的。二安裝打開命令行工具創(chuàng)建虛擬環(huán)境,默認(rèn)情況下會(huì)創(chuàng)建目錄,所有的虛擬環(huán)境都會(huì)產(chǎn)生一個(gè)子目錄保存在此,里面包含基本程序文件以及庫(kù)文件。 目錄 基于 Python 的 Scrapy 爬蟲入門:環(huán)境搭建 基于 Python 的 Scrapy 爬蟲入門:頁(yè)面提取 基于 Python 的 Scrapy 爬蟲入門:圖片處理 作為一個(gè)全棧工程師(...
摘要:背景今天在研究阿里云鏡像站鏈接的時(shí)候發(fā)現(xiàn)有的鏡像,感覺可以拿來(lái)一用,雖然豆瓣的鏡像已經(jīng)夠快了。配置在文件中添加或修改感想阿里云的公共服務(wù)也是很良心的,比如最近出的鏡像服務(wù)。 背景 今天在研究阿里云鏡像站鏈接的時(shí)候發(fā)現(xiàn)有Pypi的鏡像,感覺可以拿來(lái)一用,雖然豆瓣的鏡像已經(jīng)夠快了。 配置 在~/.pip/pip.conf文件中添加或修改 [global] index-url = http...
閱讀 1444·2021-11-22 15:24
閱讀 2536·2021-10-11 11:06
閱讀 2341·2021-10-09 09:45
閱讀 2541·2021-09-09 09:33
閱讀 647·2019-08-30 15:53
閱讀 1452·2019-08-30 12:48
閱讀 698·2019-08-29 13:47
閱讀 515·2019-08-26 18:27