本文小編為大家詳細介紹“如何使用docker+devpi搭建本地pypi源”,內容詳細,步驟清晰,細節處理妥當,希望這篇“如何使用docker+devpi搭建本地pypi源”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
如果你是 centos 用戶,可以使用以下方法安裝
sudo yum update sudo yum -y install docker sudo systemctl enable docker sudo systemctl start docker
接下來使用使用 docker 部署一個 python 本地鏡像源,我們可以使用 docker hub 上已有的鏡像,我這里選擇的是
這個鏡像
# 設置 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/
讀到這里,這篇“如何使用docker+devpi搭建本地pypi源”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。