Skip to content

[已解決] pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool

Last Updated on 2023-03-19 by Clay

問題描述

今天我想要久違地使用 ChatGPT 幫我重新建構我以前寫的音樂播放器,但是因為私心想要使用開源免費的 PySide6 來取代當初使用的 PyQt5 模組,所以嘗試著在筆電上重新安裝了 PySide6 套件。

而在使用 pip3 install PySide6 的過程中,我遭遇了以下錯誤:

pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool


並且這個問題並不是指令一下,問題就會發生;通常是下載到一半(因為下載速度很慢),我回來電腦前驚覺已經發生了這樣的問題。

我以前是曾經安裝過 PySide6 的,並且過程中毫無問題發生。


問題發生原因

這個錯誤發生的原因可能是 pip 在安裝套件時,與 PyPI 伺服器建立連線的過程中遇到了讀取超時。這可能是因為網絡不穩定、連線速度較慢、伺服器負載過重等因素導致。當連線超過預設的等待時間,pip 會自動中斷下載並提示 ReadTimeoutError


解決方法

方法一:調整 timeout 參數

為了解決這個問題,首先可以嘗試調整 pip 的 timeout 參數。這可以通過在命令行中添加 --default-timeout 選項來實現。例如,將 timeout 值設置為 100 秒:

pip3 install PySide6 --default-timeout=100


這樣可以讓 pip 在安裝套件時使用更長的 timeout 數值,降低讀取超時的可能性。我在這裡是把 100 秒調整到了 1000,因為我即使設定 100 秒也仍然超時。


方法二:更換 PyPI 鏡像源

另一種解決方法是更換 PyPI 鏡像源,可能會提高下載速度並避免超時錯誤。我們可以使用以下命令指定鏡像源:

pip3 install PySide6 -i https://pypi.tuna.tsinghua.edu.cn/simple


不過要注意的是,上述所採用的是中國清華大學的 PyPI 鏡像源,我們應該可以根據自己的地理位置選擇其他適合的鏡像源,並且我們台灣的開發者可能比較不相信對岸的套件來源,是否要使用這邊的鏡像源就要斟酌一下了。


References


Read More

Tags:

Leave a Reply取消回覆

Exit mobile version