anaconda入門(一)

很久前安裝了anaconda,這次選修課需要用TensorFlow就開始嘗試使用一下,沒想到一上來就遇到各種問題


1. 在anaconda navigator上安裝虛擬環境

在這裏插入圖片描述
在這裏插入圖片描述

安裝好後,進入 anaconda prompt,通過如下命令

# (base) C:\Users\yyq>

> conda activate env_name
# (env_name) C:\Users\yyq>

切換到虛擬環境中。常用anaconda命令參考:Anaconda常用的命令

2. 添加清華、中科大鏡像

參考:

添加後不再需要fq,提高網絡連接速度(有時候會因爲“網絡連接”問題而報錯,如連接速度過慢等,這時候就需要鏡像網站)

conda config --add channels https://mirrors.xxxx
conda config --set show_channel_urls yes

之後還需要在 C:\Users\yyq 目錄下的 .condarc 文件中將 “-defaults” 刪掉。

3. 安裝各種包

參考:Anaconda常用的命令

conda

參考:conda 安裝指定版本的指定包anaconda 安裝指定源的包

  • 安裝庫 [指定channel或版本]:conda install [- -channel https://xxx] pkg_name[==0.22]
  • 查看庫的版本:conda list pkg_name
  • 更新庫的版本 [指定channel]:conda update [- -channel https://xxx] pkg_name
  • 更新所有包:conda update --all
  • 在鏡像網站中查找庫:conda search pkg_name
  • 安裝其他源的包:anaconda search -t conda pkg_name 加 anaconda show pkg_name

這裏需要注意,若出現了 “Found conflicts” 的報錯,可能是各個庫的版本在安裝和調整的過程中產生不匹配。可以採用先 conda update --all 再安裝的方式。

pkg1: sklearn

這裏需要說明: 如果虛擬環境是建立在python3.5上的,則有些pkgs無法安裝最新版本。例如 sklearn,在python3.5下,直接在anaconda prompt中用 conda 進行安裝

conda install scikit-learn

會顯示只能安裝 0.19版本,而老師的課件需要sklearn版本 >= 0.20。

在這裏插入圖片描述

開始時,我嘗試 指定安裝版本 進行安裝

conda install scikit-learn=0.22

顯示報錯
在這裏插入圖片描述
報錯顯示我的python版本3.5過低。我是直接刪了環境直接重新裝了,因爲當時還沒有安裝什麼包,而且查閱資料後發現更新python版本有點麻煩-_-#。

而在python3.6下,直接 conda 安裝還是隻能0.19版本。查閱資料後,我發現是因爲調用的第一個鏡像網站在此時只能安裝0.19版本,想安裝更多版本需要

  • 查找哪些鏡像網站有更新的版本
  • 指定從該鏡像網站上下載

查找鏡像網站的命令是

conda search pkg_name

會顯示這個pkg的所有版本及對應的 channel。例如

在這裏插入圖片描述

可以看到,0.19以上的版本在另一個鏡像網站上,於是指定安裝命令

conda install --channel https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ scikit-learn

注意 channel 名稱要寫全!(網址最後的 “/” 可加可不加,有的教程中說不能加,但我加了好像也沒事)

pkg2: jupyter

conda install jupyter

安裝完這個包之後在開始菜單欄裏會生成虛擬環境下的jupyter
在這裏插入圖片描述
傳送門:

這裏需要注意,在虛擬環境下(即不是base),第二篇傳送中提到的terminal is unavailable!!

pkg3: tensorflow

參考:關於TensorFlow舊版本不能直接 import keras 的問題解決
還需要注意tensorflow與keras版本的匹配問題,參考:

低版本的tensorflow調用keras參考:

pkg4: numpy

參考:關於安裝ANACONDA遇到的無法定位動態鏈接庫問題
這裏需要注意,鏈接動態庫的問題也可能是各個版本之間版本不匹配,可以嘗試用 conda update --all 解決!

pkg5: keras

參考:Anaconda3如何安裝keras

安裝keras比較複雜,需要三步

  1. 安裝mingw libpython(兩個包)
  2. 安裝theano
  3. 安裝keras

pip

一般來說,conda和pip不應該混用。例如,我在之前安裝 sklearn 版本過低時,也嘗試了用pip安裝

pip install scikit-learn

結果安裝的確實是 0.22版本,而且安裝路徑爲 C:\Users\yyq\Anaconda3\envs\tf\Lib\site-packages。但之後再使用 conda install 進行安裝時就會報錯。當刪除掉這個安裝時

pip uninstall scikit-learn

再進行conda install纔不再報錯。

pkg1: tensorflow2.0

參考:

在第一篇推送中,會出現報錯,在第二篇中可以得到解決,正常安裝。但是第二篇的方法導致了新的報錯。之後又結合了第三篇推送(增加 --user 參數)。最終解決辦法:

pip install --user tensorflow -i https://pypi.douban.com/simple

tf2.0相關後續參考:

另注, conda 與 pip 的區別

4. 常見問題小計

4.1 網絡連接問題

在這裏插入圖片描述
解決方法:

  • 添加鏡像網站(清華、中科大)
  • 關閉fq

4.2 動態庫鏈接問題 or “Found conflicts!” or “frozen. Retrying flexible”

都可能是各個庫版本之間不匹配

  • 嘗試更新所有包 conda update --all

4.3 UnsatisfiableError問題

一般是python版本與庫不兼容。可以考慮

  • 升級python版本
  • 重新搭建適當python版本的虛擬環境
  • conda update conda(沒嘗試過)

後記

看到終於沒有報錯的時候,我枯遼!(然而只是各種import成功而已,入門級渣渣)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章