pycharm下載依賴一直失敗的問題踩坑指南
前言
pycharm下載依賴失敗這個問題對于我來說已經(jīng)是個老生常談的問題,與之共交手三次。
首次交鋒是在大二利用 樹莓派 做圖像采集傳輸時,在樹莓派的ubantu上使用python,首次接觸python,環(huán)境配的痛苦不堪,也沒有學(xué)到什么,整體不太成功。
第二次與之會面是在 vmware的 centos7虛擬機 中,同樣需要在pycharm中配置一些python常用的庫,但同樣因為時間緊,對linux系統(tǒng)不夠熟悉,最終拆東墻補西墻,勉強配置出來,但同樣沒有本質(zhì)的收獲。
終于,隨著考研結(jié)束,我開始考慮畢設(shè)的問題,由于涉及 yolov5做深度學(xué)習(xí),我不得不再次面對這個問題。但!!事不過三,這一次我開展了詳細的研究,終于了解到了pycharm下載失敗的本質(zhì),并找到了相對萬能的解決方法。
問題復(fù)現(xiàn)
通常情況下,使用pycharm的我們隨手百度 “如何下載依賴”,大多數(shù)攻略都會告訴我們使用pycharm的內(nèi)置下載:先更換國內(nèi)的鏡像倉庫,然后搜索下載。
就像這張圖。

但結(jié)果總不盡如人意,一些比較簡單的依賴或許會下載成功,但大多數(shù)下載都會面臨這樣的情況。(這張圖是別人的,因為我是配置完成后寫的博文)

這個失敗讓人摸不著頭腦,你或許會跟著報錯欄的建議,使用相應(yīng)的命令繼續(xù)嘗試,但成功率卻很隨機,有些時候可以成功,有些時候會帶領(lǐng)你走向一個新的坑,產(chǎn)生更多的問題。(親身體會)
問題本質(zhì)
在拜讀了無數(shù)篇 大佬(對我有所幫助)和癟三(指文章胡言亂語偷竊他人成功的作者)的文章后,我終于有所啟發(fā),發(fā)現(xiàn)了一條至關(guān)重要的法則。
python中,各個依賴之間的版本對應(yīng)關(guān)系十分重要,而pycharm通常情況下都會為你選擇最新版本的依賴
可能有點難理解,我們從兩方面考慮,
第一點就是你實際業(yè)務(wù)所需要的依賴對版本的要求;第二點就是各個依賴之間的版本要求。
舉個例子:
你的python是3.11,你需要下載三個依賴:A,B,C
| python | A (最新版本2.1.0) | B(最新版本0.15.1) | C(最新版本2.3.0) | |
|---|---|---|---|---|
| 此時業(yè)務(wù)所需的正確依賴關(guān)系 | 3.1~3.9 | 小于等于2.0.0 | 小于等于0.14.4 | 無要求 |
| 可能的錯誤配置1 | 3.11 | 2.0.0 | 0.14.4 | 2.3.0 |
| 可能的錯誤配置2 | 3.8 | 2.1.0 | 0.15.1 | 2.3.0 |
| 正確配置 | 3.8 | 2.0.0 | 0.14.4 | 2.3.0 |
如上所示,有時候選擇最新版本其實并不一定是件好事,但是,僅僅把所有版本都控制在 業(yè)務(wù)所需的合法范圍 就萬事大吉了?
當然不是,因為有些 依賴之間 還有版本要求,接著上面的例子,此時你需要下載一個新的依賴 D,要求關(guān)系如下表,那么在這個時候剛剛正確的配置現(xiàn)在還正確嗎?
顯然出問題了,剛剛合法的A和B因為D的限制,不得不改動版本。并且由于A的限制,python的版本也受到了制約。
| python | A (最新版本2.1.0) | B(最新版本0.15.1) | C(最新版本2.3.0) | D(最新版本1.15.0) | |
|---|---|---|---|---|---|
| 此時業(yè)務(wù)所需的正確依賴關(guān)系 | 3.1~3.9 | 小于等于2.0.0 | 小于等于0.14.4 | 無要求 | 無要求 |
| 依賴間的版本要求 | 無要求 | 要求python必須小于3.7 | 無要求 | 無要求 | 需要A的版本小于等于1.9.0;B的版本小于等于0.13.0 |
| 剛剛的正確配置 | 3.8 | 2.0.0 | 0.14.4 | 2.3.0 | - |
因此,此時此刻,正確的版本應(yīng)該是:
| python | A (最新版本2.1.0) | B(最新版本0.15.1) | C(最新版本2.3.0) | D(最新版本1.15.0) | |
|---|---|---|---|---|---|
| 剛剛的正確配置 | 3.7 | 1.9.0 | 0.13.0 | 2.3.0 | 1.15.0 |
好了,到這里,原理就很清楚了,pycharm能夠下載成功的情況就是依賴關(guān)系簡單或者正好符合所有要求。
下載失敗要么就是缺依賴(就像你腿還沒長出來,我就要你跑步),要么就是版本沖突。
解決方案
說到這里,反應(yīng)再慢的人也應(yīng)該知道該怎么做了,去依賴的官網(wǎng),或者去百度“XX與XX之間的版本關(guān)系”,查到正確的版本,然后下載。
安裝提供兩種思路:
①.命令行直接下載,簡單快捷【極大多數(shù)依賴都可以解決】
pip install XXX(你要下載的依賴名稱)==x.x.x(你需要的版本號) -i .......(你所使用的國內(nèi)鏡像倉庫)
舉例:
pip install torch==1.10.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
②.從倉庫里下載whl文件,本地安裝
如果你真的運氣很差,網(wǎng)絡(luò)巨慢,換了很多國內(nèi)倉庫依然要下幾個小時,那么可以考慮這個方法,去任意一個國內(nèi)倉庫里直接找到你要的資源。
舉例:去清華鏡像站尋找 torch.
https://pypi.tuna.tsinghua.edu.cn/simple

然后根據(jù)你的操作系統(tǒng),版本,需求找到你需要的來下載。

這種方式之所以下載速度更快是因為可以使用第三方工具抓取下載,對比一下下載速度(例如 IDM ,不懂的自行百度)

然后打開cmd,進入你剛剛下載好的文件的目錄
開始安裝即可
pip install torch-1.11.0-cp310-cp310-win_amd64.whl
補充總結(jié)
檢查是否安裝成功
pip list

下載的依賴存在哪
儲存在你python的安裝目錄,如圖

前面可能不同,主要找 Lib和site-packages
總結(jié)
通過本次探索,終于從本質(zhì)上解決了這個問題并起到了舉一反三的作用,特此記錄。
到此這篇關(guān)于pycharm下載依賴一直失敗的問題踩坑的文章就介紹到這了,更多相關(guān)pycharm下載依賴一直失敗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python如何將list中的string轉(zhuǎn)換為int
這篇文章主要介紹了Python如何將list中的string轉(zhuǎn)換為int,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07
Python MySQL數(shù)據(jù)庫基本操作及項目示例詳解
這篇文章主要介紹了Python連接MySQL數(shù)據(jù)庫后的一些基本操作,并以銀行管理系統(tǒng)項目為例,為大家具體介紹了一下部分功能的實現(xiàn),文中的示例代碼具有一定的學(xué)習(xí)價值,感興趣的可以了解一下2021-12-12
已安裝tensorflow-gpu,但keras無法使用GPU加速的解決
今天小編就為大家分享一篇已安裝tensorflow-gpu,但keras無法使用GPU加速的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
基于Python+Flask實現(xiàn)一個簡易網(wǎng)頁驗證碼登錄系統(tǒng)案例
當今的互聯(lián)網(wǎng)世界中,為了防止惡意訪問,許多網(wǎng)站在登錄和注冊表單中都采用了驗證碼技術(shù),驗證碼可以防止機器人自動提交表單,確保提交行為背后有一個真實的人類用戶,本文將向您展示如何使用Python的Flask框架來創(chuàng)建一個簡單的驗證碼登錄系統(tǒng)2023-09-09
Python從數(shù)據(jù)庫讀取大量數(shù)據(jù)批量寫入文件的方法
今天小編就為大家分享一篇Python從數(shù)據(jù)庫讀取大量數(shù)據(jù)批量寫入文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12

