我們在「【💎Python 軍火庫 - devpi】pip install…等太久了嗎🤔? 您需要來點緩存機制」有介紹過pypi套件緩存的架設方式, 那架設好了之後, 我們在下載的部份會有一層快取及代理的前哨站, 但假如我們的套件不在pypi平台時怎麼辦呢? 就像torch的套件就必須仰賴外部的來源如下:
pip3 install torch torchvision torchaudio --index-url <https://download.pytorch.org/whl/cu118>
那為了讓該套件也能夠在我們的緩存伺服器上, 我們通常會用devpi-client幫助我們上傳套件包:
P.S 詳細怎麼用請參考: Quickstart: uploading, testing, pushing releases
devpi upload torch-2.0.0+cu118-cp310-cp310-linux_x86_64.whl
但不幸的卻發生了…
這是為什麼呢? 🕵️♂️ 基於追求真相的好奇心, 我們直接來追原始碼:
我們可以看到server端的預設值大約1GB, 而我們要上傳的檔案大小大約是2GB, 因此會被阻擋是合情合理的, 所以我們可以在啟動伺服器的時候這麼做
# 5GB
devpi-server --host=xxx --port=xxx ----max-request-body-size=5368709120
那我們「【💎Python 軍火庫 - devpi】pip install…等太久了嗎🤔? 您需要來點緩存機制」的「entrypoint.sh」就可以這麼做…
...
# DEVPISERVER_REQUEST_BODY_SIZE -> 請在docker-compose.yml加入此環境參數進行配置
exec devpi-server --host="${DEVPISERVER_HOST}" --port="${DEVPISERVER_PORT}" --max-request-body-size="${DEVPISERVER_REQUEST_BODY_SIZE}" $@
此時我們再上傳一次即可成功…
devpi upload torch-2.0.0+cu118-cp310-cp310-linux_x86_64.whl
遇到問題我們不要害怕去解決, 最簡單的方式就是查詢前人的討論, 從中得到有跡可循的線索, 最終不忘的求真相,探索最原始的原始碼所在之處, 我們終將看到一些端倪得到正確的解決方法。
學習軟體開發的路上常常苦於網路資訊爆炸嗎? 教學何其多,但卻遇到無法明確選擇的困境呢? 歡迎加入「🔒 阿Han的軟體心法實戰營」, 這裡不給您冗餘的雜訊, 單刀直入直接送您業界開發重點, 避開選擇障礙的困境, 讓您獲得業界標準的開發起手式, 成為Top 1的頂尖人才。