pycharm中conda環境部署


問題

pycharm中部署了conda base環境,項目中 import sklearn 報錯,缺少DLL模塊 。
但是在Anaconda Prompt中 import sklearn 則成功。

發現

1 在Anaconda Prompt中(base)下用pip install安裝庫 ,pycharm中有相應庫的增加;
而在(base)下用 conda install 安裝庫,pycharm無相應庫增加;

2 (base)下 conda uninstall scikit-learn 后可以再 pip uninstall scikit-learn
說明存在兩個scikit-learn包,conda installpip install 安裝的是不同的地方?環境?包?

3 上網查到,此報錯應該是sklearn依賴的包的版本與sklearn所需的版本不同(如過低),或與安裝的python版本不對應,或與機子的位數不對應,等原因。解決方法是,卸掉所有sklearn依賴的包,然后安裝sklearn(此時sklearn依賴的包也會同時安裝,並且是配套版本)。

解決方法

綜上,應該是conda install安裝的sklearn是好的,pip install安裝的sklearn與依賴包不配套。
解決方法1:把conda install到的這個環境給pycharm,然而並不會,因為至結束發現二者使用的解釋器是同一個,應該是安到一個環境?
解決方法2:把pip install到的這個環境配好。
故上網查:sklearn依賴的包有:
scipy
numpy (numpy+mkl?)
matplotlib

再在Anaconda Prompt中(base)下,卸載以上三個包,及scikit-learn包,
pip install scikit-learn
在pycharm 中 import scikit-learn成功!

建議

1 下次項目,決定使用虛擬環境,即選擇conda env下的python解釋器
雖然首次安裝包需要多安一些包,但是避免系統環境(base)的包的混亂是十分重要的。

2 conda 與 pip
conda是包管理工具,可以管理python及以外的包
而pip是python安裝包的工具
再結合上述所說pycharm和pip安裝的同步,
故今后安裝python的包將統一使用pip install命令。

3 上述遺留的問題仍待探索。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM