摘要:前一段時間開發需要經常使用下載,雖然把源改成了國內源,但我對速度還是不滿意,更為重要的是集成測試環境是離線的,要在集成測試環境開發顯然需要搭建自己的本地源。在使用之前我曾使用過,但有個導致離線環境下的命令總是失敗,所以最后采用搭建源。
前一段時間開發需要經常使用 pip 下載,雖然把 pip 源改成了國內源,但我對速度還是不滿意,更為重要的是集成
測試環境是離線的,要在集成測試環境開發顯然需要搭建自己的本地 pip 源。在使用 devpi 之前我曾使用過 pip2pi,但有個 bug 導致離線環境下的 tox 命令總是失敗,所以最后采用 devpi 搭建 pip 源。這里使用 docker 部署,方便又快速,如果不小心弄崩了也只需要重新運行 docker 容器就好了。如果你的環境沒有安裝 docker 可以自行搜素安裝方法,比如 docker 社區的文檔 install docker。如果你是 Centos 用戶,可以使用以下方法安裝
sudo yum update sudo yum -y install docker sudo systemctl enable docker sudo systemctl start docker
接下來使用使用 docker 部署一個 Python 本地鏡像源,我們可以使用 docker hub 上已有的鏡像,我這里選擇的是
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/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://:3141/root/public --set-cfg devpi login root 123 devpi upload --from-dir /wheelhouse
上傳完成后可以使用 http://
若要臨時使用可以使用 pip install 的 --index 和 --trusted-host 選項
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/
最后,歡迎關注我的僵尸微信公眾號 :) CodeWar
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27764.html
摘要:前一段時間開發需要經常使用下載,雖然把源改成了國內源,但我對速度還是不滿意,更為重要的是集成測試環境是離線的,要在集成測試環境開發顯然需要搭建自己的本地源。在使用之前我曾使用過,但有個導致離線環境下的命令總是失敗,所以最后采用搭建源。 前一段時間開發需要經常使用 pip 下載,雖然把 pip 源改成了國內源,但我對速度還是不滿意,更為重要的是集成測試環境是離線的,要在集成測試環境開發顯...
摘要:命令配置一個調用,使用在索引上的與兼容的頁來尋找和下載包。現在我們切回然后尋找我們的發行文件我們看到被包含在兩個索引中,讓我們移除的發行版如果你沒有指定選項,你將被詢問確認刪除的交互式操作。 注:該文的原文是 Quickstart: uploading, testing, pushing releases,來自于 devpi 的官方文檔。 該快速入門文檔將引導你為你的 Pyt...
摘要:與業務相關的鏡像可以使用私有的,提高安全性。其后端存儲方案有兩個。能不能使用國內存儲服務如新浪云存儲,做一個私有呢在進一步了解的過程中,筆者了解到實際上服務本身提供機制,可以整合更多的存儲服務整合。 最近使用Docker的同學越來越多。 使用Docker的時候需要了解Registry服務 - 即鏡像存儲服務。 Registry是一個管理Docker鏡像的服務,當使用Docker的P...
摘要:一基礎環境由于不是職業的開發者,因此環境是基于的。二安裝打開命令行工具創建虛擬環境,默認情況下會創建目錄,所有的虛擬環境都會產生一個子目錄保存在此,里面包含基本程序文件以及庫文件。 目錄 基于 Python 的 Scrapy 爬蟲入門:環境搭建 基于 Python 的 Scrapy 爬蟲入門:頁面提取 基于 Python 的 Scrapy 爬蟲入門:圖片處理 作為一個全棧工程師(...
摘要:背景今天在研究阿里云鏡像站鏈接的時候發現有的鏡像,感覺可以拿來一用,雖然豆瓣的鏡像已經夠快了。配置在文件中添加或修改感想阿里云的公共服務也是很良心的,比如最近出的鏡像服務。 背景 今天在研究阿里云鏡像站鏈接的時候發現有Pypi的鏡像,感覺可以拿來一用,雖然豆瓣的鏡像已經夠快了。 配置 在~/.pip/pip.conf文件中添加或修改 [global] index-url = http...
閱讀 1330·2021-11-25 09:43
閱讀 738·2021-11-18 10:02
閱讀 2862·2021-09-07 09:59
閱讀 2748·2021-08-30 09:44
閱讀 2920·2019-08-30 13:17
閱讀 2305·2019-08-29 12:17
閱讀 1673·2019-08-28 17:57
閱讀 1281·2019-08-26 14:04