天天看點

ImportError:DLL load failed:找不到指定的子產品

問題描述:

有兩個調用scikit-learn包的程式想在pycharm中打開,之前的pycharm已有環境中加載了過多的庫,每次打開都很久,故想建立個環境,專門運作機器學習入門程式。在Anoconda3中建立了個環境,用conda install裝了scikit-learn,matplotlib,自動安裝了numpy等庫。然後在pycharm首頁setting裡面設定好路徑,就運作了,結果一直報錯ImportError:DLL load failed:找不到指定的子產品。

ImportError:DLL load failed:找不到指定的子產品

翻到前面錯誤原因,菜雞如我也看不懂呀,就隐隐約約覺得跟numpy有關,百度完發現有個答案說numpy版本過高,降低了就好了。暗喜,這跟我的錯誤有點像呀

ImportError:DLL load failed:找不到指定的子產品

把1.18的numpy降到1.17後發現并沒啥用。沒事,生活嘛,哪那麼一帆風順。接着一頓海找,看到了一個說環境變量的文章,不是很懂變量配置的隻是傻傻在seting裡折騰來折騰去。折騰了很久有點洩氣了,再點選run下面的編輯配置,可能就是配置環境變量的,但是沒搗鼓出來Path怎麼加,到這個時候我還迷糊着,到底是哪出問題了呢?

ImportError:DLL load failed:找不到指定的子產品
ImportError:DLL load failed:找不到指定的子產品

難道真的要跟第一篇看到的文章一樣,把所有提到的庫都重新裝一遍或者把Anconda重新更新一下,可是人家具體錯誤也跟我不是一樣啊。愁啊,這可是彙報前最後一晚,不把這個結果運作出來我彙報啥啊,醉生迷死的玩了一個禮拜,該來的終究是來了。

ImportError:DLL load failed:找不到指定的子產品

就在這個時候改變曆史的時刻發生了,我之前隻運作了一個程式,出錯了,但是這個程式我在之前另外一個環境中運作也出錯,是以我沒發現啥不對勁。但是!但是!另一個程式我在另外一個環境中運作時對的,我在這個新環境中還沒有運作過,并不是靈光一動想到了啥,我隻是沒辦法了破罐子破摔的随手一點(運氣很重要),結果發現這個程式也運作不了!

ImportError:DLL load failed:找不到指定的子產品

然後我就開始懷疑是環境變量沒設定好了,就翻之前說環境變量的那篇文章,沒找都。找到個說的更具體的,不是從pycharm設定的,是系統裡添加的,我記得剛開始裝Anconda時經曆過這個環節。

問題原因:

虛拟環境的環境變量沒有添加好,不是pycharm,File下setting中的路徑,外在環境變量也要添加

最後解決辦法:

1.win10控制台\系統和安全\系統,進入系統屬性界面,進階裡有個環境變量

ImportError:DLL load failed:找不到指定的子產品

2.輕按兩下使用者變量中的path,通過浏覽檔案找到你建立的虛拟環境目錄,複制路徑(一般在你安裝conda目錄下envs檔案夾裡)

ImportError:DLL load failed:找不到指定的子產品

3.在系統變量裡選擇路徑,建立,将之前複制的路徑粘貼進去,要有框出來的三個路徑,其中malearn是我的虛拟環境的名稱。

ImportError:DLL load failed:找不到指定的子產品

重新開機pycharm後運作成功了,簡單的幾步我折騰了好幾個小時,加上是熬夜暈乎乎的,成功的那一刻我好像知道了範進中舉是啥感覺。

ImportError:DLL load failed:找不到指定的子產品
ImportError:DLL load failed:找不到指定的子產品