Python環境配置保姆教程(Anaconda、Jupyter、GPU環境)!

2021-12-28 數據挖掘工程師

作者:吳忠強,東北大學,Datawhale團隊成員
1. 寫在前面

搞算法的同學也都明白,一個比較完美的python環境是多麼的重要。這篇文章打算把一些必備的python環境配置過程記錄下來,這樣不管是新到了公司實習或者就職,還是新換了電腦,都可以借鑑這篇快速把環境搭建起來啦 😉

由於我也是重裝了系統,所以算是從0開始搭建python環境,這次從anaconda安裝開始, 然後到cuda的相關安裝配置,再到cudnn的安裝配置,然後從anaconda中建立虛擬tensorflow和pytorch的虛擬環境,再各自的虛擬環境裡面安裝jupyter notebook並完成配置,安裝tensorflow的GPU版本和pytorch的GPU版本。這一整套下來,在自己機子上做一些簡單的模型實驗就沒有問題了。

雖然這套流程是目前是在Windows上做的,但具有普適性,在Linux上也是一樣的道理,只不過有些地方的操作可能不一樣,原理都是一樣的。

內容包括:

建立pytorch虛擬環境並安裝pytorchGPU版本

Ok, let’s go!

2. Anaconda的安裝與常用命令

Anaconda是為方便使用Python而建立的軟體包,其包含250多個工具包,多版本的Python解釋器和強大的虛擬環境工具,所以Anaconda是Python的全家桶。Anaconda可以使安裝,運行和升級環境變得更簡單,所以初步學習Python,這一個就足夠了。

Windows下的Anaconda安裝,是所謂的傻瓜式安裝,Linux下面的安裝,可以參考我之前整理的(https://zhongqiang.blog.csdn.net/article/details/112376293)。

下載之後,點擊Anaconda3-2019.07-windwos-x86_64.exe這個安裝文件進行安裝,選擇路徑,勾選加入環境變量,等待安裝完成即可(這些和普通軟體安裝一樣,一路回車操作),這裡面一定注意,不要把anaconda裝到C盤。因為你後面會有好多個虛擬環境,安裝很多包;另外,建議把conda命令加入到環境變量裡面去。驗證安裝成功:打開命令行,輸入conda,回車。看是否能進入conda環境。

這個安裝比較簡單,不過多整理,下面是常用的命令,這些記好了之後,就能比較輕鬆的用anaconda管理虛擬環境,管理相關包了。打開命令行,輸入activate, 此時會進入一個root的默認虛擬環境, 如下:
這個是一個默認的虛擬環境,如果不想建其他環境,比較省事的方法就是把所有用到的包全安裝到這裡面,打造一個萬能環境,所以下面先整理關於包管理的命令

# 列出當前環境下安裝的包, 非常常用
conda list

# 實驗過程中,如果發現某些包沒有,直接安裝
conda install package_name  # 也可以帶版本號
pip install package_name

# 如果發現裝錯版本了,想要卸載掉包
conda remove package_name
pip uninstall package_name

# 更新包
conda update package_name

在一個虛擬環境裡面,掌握這幾個常用的命令即可,上面是比較省事的方法,只有一個環境,但我不太習慣這樣做,我一般喜歡建立多個虛擬環境,在每個虛擬環境下安裝特定的包去完成相應的實驗,因為有的項目可能需要python2,有的需要python3,有的可能是tf項目,有的可能是pytorch項目。這時候,用到的包會很不一致,所以,分類管理也是一個不錯的思路。那麼下面就是管理環境常用的命令:

# 查看已經有的虛擬環境 常用
conda env list

# 新建虛擬環境 可以指定python版本和一些包的版本
conda create -n env_names package_names   # conda create -n tfenv python=3.7

# 進入虛擬環境,這時候面臨著對一些包的操作,就是上麵包的相關命令了
activate tfenv

# 離開虛擬環境
deactivate

# 刪除虛擬環境
conda env remove -n env_name

這裡單獨拎出一個東西來,叫做共享環境,這個其實是非常有用的,它能讓其他人安裝項目中使用的所有包,並確保這些包的版本正確。比如開發了一個系統,讓別人來部署,但其他人可能不知道用的哪個python版本,哪些包等,盲目安裝又可能由於版本原因出現問題,所以共享環境就比發揮威力了。怎麼用?

# 將當前環境下安裝的包保存為YAML文件
conda env export > environment.yaml

此時在當前目錄下就會發現一個導出的環境文件:


在GitHub上共享代碼時,我們往往會看到這樣的操作,一般人家都會給出創建環境的文件,這時候,我們git clone下項目之後,依賴這個文件就能輕鬆安裝依賴項。那麼導出的環境文件如何使用呢?

activate tfenv

# 安裝所有包
conda env update -f=/path/to/environment.yaml    

如果不用conda,而是用pip的時候,可以導出一個txt文件,然後安裝:

pip freeze > requirements.txt  # 導出文件

# 然後將該文件包含在項目的代碼庫中,其他項目成員即使在他的電腦上沒有安裝conda也可以使用該文件來安裝和我一樣的開發環境
pip install -r /path/requirements.txt

關於anaconda,就整理這麼多,應該是夠用啦,後續如果有新大陸,還會再補充。

3. Jupyter的安裝與相關配置

關於jupyter, 在安裝了anaconda, 默認的root環境下會有jupyter notebook的,但是新創建了虛擬環境之後,我們還需要重新安裝jupyter notebook。命令很簡單:

pip install jupyter notebook

安裝jupyter很簡單,這裡想整理一個事情,就是修改默認的工作空間,在Windows上使用jupyter notebook不像Linux,Linux是在哪個目錄下啟動,就會默認哪個目錄為工作空間,但是Windows中不是這樣,那麼怎麼修改默認工作空間呢?

這個一般是修改jupyter的配置文件,如果沒有,就打開命令行,通過下面命令生成:

jupyter notebook --generate-config

此時會在C盤user下面的.jupyter目錄下面產生一個jupyter_notebook_config.py的文件:


用Notepad++打開jupyter_notebook_config.py,找到c.Notebook,建立你的新工作路徑,取消注釋,c前面的#要去掉。
點擊保存,這下就修該好了路徑,cmd,輸入jupyter notebook,你就發現你的路徑已更改


這樣一般是能夠修改路徑的,如果還沒有,搜一下添加下環境變量,再修改下快捷方式。

修改配置文件,不僅可以修改默認工作空間,還能修改默認啟動瀏覽器,想到想用的瀏覽器路徑,然後打開jupyter_notebook_config.py 找到App.browser = '',在這行下面添加以下三行代碼:

import webbrowser
webbrowser.register("chrome",None,webbrowser.GenericBrowser(u"C:\ProgramFiles (x86)\Google\Chrome\Application\chrome.exe"))
c.NotebookApp.browser = 'chrome'

此時就修改了jupyter使用的默認瀏覽器。

在這裡插入圖片描述

關於jupyter的配置就整理這麼多,但是原生的jupyter可能不是很好用,此時可以安裝一些擴展功能:

conda install -c conda-forge jupyter_contrib_nbextensions

此時,打開jupyter就會有一些擴展功能:


這個還是非常強大的,可以對各種單元格加一些騷操作等。

另外,這裡也記錄一個我比較喜歡的jupyter一個主題:

pip install jupyterthemes

# 一個不錯的主題
jt -t monokai -f fira -fs 13 -cellw 90% -ofs 11 -dfs 11 -T -N

下面整理些jupyter單元格操作的快捷鍵:

執行當前cell,並自動跳到下一個cell:Shift Enter
執行當前cell,執行後不自動調轉到下一個cell:Ctrl-Enter
是當前的cell進入編輯模式:Enter
退出當前cell的編輯模式:Esc
刪除當前的cell:雙D
進入下一個cell:雙A (前面)或 Alt+Enter(後面)

為當前的cell加入line number:單L
將當前的cell轉化為具有一級標題的maskdown:單1
將當前的cell轉化為具有二級標題的maskdown:單2
將當前的cell轉化為具有三級標題的maskdown:單3

為一行或者多行添加/取消注釋:Crtl /
撤銷對某個cell的刪除:z
瀏覽器的各個Tab之間切換:Crtl PgUp和Crtl PgDn
快速跳轉到首個cell:Crtl Home
快速跳轉到最後一個cell:Crtl End

ctrl + ?         #注釋
shift + tab      # 查詢函數的註解

# jupyter 將本地.py文件導入
%load test.py #test.py是當前路徑下的一個python文件

# 運行python文件
%run file.py
!python myfile.py

4. Cuda和Cudnn的安裝

CUDA是一個並行運算的一個計算平臺,而CuDNN是在上面的一個深度神經網絡的GPU加速庫。如果想用TensorFlow或者pytorch的GPU版本,這兩個是必須要安裝的。但前提,機子內得有顯卡,且是NVIDIA的。

4.1 Cuda安裝

下載CUDA,這個是cuda-10.0的版本,如果安裝別的版本,也可以在這裡找。

連結:https://developer.nvidia.com/cuda-10.0-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal

下載完成後,打開下載的驅動, 開始安裝。這裡選擇自定義安裝:

自定義安裝這裡可以進行一些設置,否則有可能會導致安裝失敗,首先組件這裡取勾GeForce Experience,


然後, 我這裡安裝的時候,必須Visual Studio Integration也需要取消勾選。

點開Driver comonents,Display Driver這一行,前面顯示的是Cuda本身包含的驅動版本是411.31
如果你電腦目前安裝的驅動版本號新於Cuda本身自帶的驅動版本號,那一定要把這個勾去掉。否則會安裝失敗(相同的話,就不用去取勾了)


接下來就等他安裝完成即可。

結束之後, 怎麼看是否成功了呢?打開下面這個路徑,查看nvcc.exe,有這個說明CuDA安裝成功。


打開此文件夾,查看有沒有cuti64_100.dll


有這個cuti64_100.dll就說明CUPT1已成功。

4.2 Cudnn安裝

同樣的,來官網: https://developer.nvidia.com/rdp/cudnn-download, 選擇Cudnn for CUDA10.0, 這個需要登錄, 註冊個郵箱或者用微信登錄即可。

下載下來之後,解壓cuDNN:


將解壓後文件複製到CUDA文件夾下


接下來,要配置環境變量,

我的電腦——>屬性——>高級系統設置——>環境變量

在系統環境變量中找到path

當安裝完Cuda的時候,會自動的cuda的bin目錄以及libnvvp目錄加入到環境變量中,但是並沒有加CUPA和Cudnn的路徑,我們需要把這倆加入進來,這樣,在使用TensorFlow的時候,才不會報錯。


Cudnn和Cupta的路徑缺一不可,第三個不用管,安裝anaconda的時候,會自動加入。

測試cuda, 打開命令行, 輸入nvcc \-V


這裡會顯示版本。

5. 建立tf虛擬環境並安裝tf2.0GPU版本

這裡主要是tf2.0GPU版本的安裝, 有了上面的鋪墊,這裡會變得非常簡單。

首先,先建立一個tfenv的虛擬環境:

conda create -n tfenv python=3.7

此時,我這裡竟然報了一個錯誤:

CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.ts

這個我一開始以為是我anaconda換了安裝目錄導致的,但經過查閱資料,應該是源的問題,anaconda換源後無法創建新的虛擬環境。我的解決辦法:

找到這個.condarc文件,這個在我的C:\Users\ZhongqiangWu目錄下面,把https改成了http就好了。

這樣就能創建出tfenv的虛擬環境,然後激活activate tfenv,進入環境。

// 安裝TensorFlow-gpu
pip install tensorflow-gpu=2.0.0-beta0

此時等待下載,進行安裝即可。安裝完畢之後,測試是否安裝成功。

在當前環境下,輸入python進入環境,然後:

import tensorflow as tf
print(tf.test.is_gpu_available())   // 如果輸出True,說明安裝成功

但在我這裡,導入TensorFlow的時候,報了一個錯誤:

ImportError: Could not find 'cudart64_100.dll'
TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable

這個通過查資料,大部分得出的結論是這篇文章說的那樣, 即cuda版本的問題, 這裡會發現100,這其實意味著cuda要用10.0版本的,因為安裝完cuda的時候,會在cuda的bin目錄下面有這麼一個dll文件:


也就是TensorFlow在導入的時候,會去找有沒有這樣的一個文件, 當然我這裡tf2.0找的是10.0的這個,可能有的報錯說找不到101.dll或者102.dll這種,這顯然是cuda版本不匹配,要卸載掉當前的cuda, 重新安裝對應版本的,或者卸載掉當前版本的tf,重新安裝個別的版本的tf。但有種做法不提倡,有的竟然硬性的把這裡的100.dll修改名字,改成101.dll這樣,這叫投機取巧,並不是在解決問題。

我當時就非常納悶, 我這裡明明有這個文件,並且我也把這個bin目錄加入到了環境變量裡面,為啥還會報上面的這個找不到這個文件的錯誤呢?其實是費了一些時間的,網上也沒找到好的辦法,最後,我想到,可能是因為我anaconda啟動的原因:

我anaconda這次安裝到了D盤裡面,然後依然是藉助Anaconda Prompt啟動了命令行,然後進入的虛擬環境。此時,我再想一個問題,我在虛擬環境裡面輸入python,然後import tensorflow的時候,此時tensorflow去找依賴的時候,是去哪裡找呢?

怎麼保證它這裡是找的環境變量裡面的配置呢?好像並沒有進行設置,所以我猜測,它這裡找dll的時候,可能是D:\Anaconda3\envs\tfenv\Library\bin目錄下去找相關的dll文件,如果找不到,可能不會自動的去總的環境變量裡面找,就直接報錯了。

這個啟發來自於,如果我們通過anaconda3自動安裝cuda和Cudnn的時候,此時cudart64_100.dll是在D:\Anaconda3\envs\tfenv\Library\bin目錄下的。而上面我們並沒有通過anaconda3安裝這倆哥們,而是手動安裝的,那麼在anaconda 自己的命令行裡面可能找不到。

所以關於這個問題,我最終的解決辦法,就是不用anaconda prompt啟動命令行進虛擬環境,而是直接cmd打開系統的命令行,然後直接輸入activate,進入root的環境,然後activate tfenv進入到虛擬環境,此時再運行測試,發現成功。這個應該是走環境變量裡面的文件了。


此時,tf2.0的GPU版本安裝成功。

6. 建立pytorch虛擬環境並安裝pytorchGPU版本

這裡和上面就基本上是一樣的過程了,這裡是按照pytorch的GPU版本,首先是建立虛擬環境

conda create -n pytorch_gpu python=3.7

此時,又出現CondaHTTPError: HTTP 000 CONNECTION FAILED for url, 真是服了, 此時我重新配置.condarc,修改成下面這個樣子:

channels:
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
  - http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
show_channel_urls: true

把vpn關掉,然後好使了。

接下來安裝torch和torchvision, 進入下面這個網站: http://download.pytorch.org/whl/torch_stable.html, 找符合系統版本、cuda版本的torch,採用搜索的方式找


我的是cuda10.0, python3.7版本,win10系統,64位。下載下來。

torchvision同樣的道理,把這兩個.whl文件下載下來。然後回到命令行, 安裝即可。

pip install "torch-1.2.0-cp37-cp37m-win_amd64.whl"
pip install "torchvision-0.4.0-cp37-cp37m-win_amd64.whl"

安裝完畢,進行測試,依然是進入python環境,然後輸入:


這樣,pytorch的GPU版本安裝完畢!

有了這一整套流程,在自己機子上搭建python環境,跑模型實驗,就比較方便啦,不管是tf項目還是pytorch項目,都能用這一套環境實驗。Linux上其實也是這樣的流程,很多地方都是一樣的,原理都是通的,無法就是配置環境變量的時候不太一樣。

參考:

之前整理的文章連結也放過來:

大數據環境搭建下面的anaconda搭建

https://zhongqiang.blog.csdn.net/article/details/112376293

Python管理包工具anaconda安裝過程常見問題解決辦法

https://zhuanlan.zhihu.com/p/34337889

Python·Jupyter Notebook各種使用方法

https://blog.csdn.net/liuyanlin610/article/details/76231958

遠程連接GPU伺服器上的jupyter notebook解決方案

https://blog.csdn.net/wuzhongqiang/article/details/107555363

Windows下GPU版本詳細安裝教程

https://cloud.tencent.com/developer/article/1458665)

Windows下的Pytorch環境手把手搭建

https://zhongqiang.blog.csdn.net/article/details/104503860

相關焦點

  • python小白學習之anaconda的安裝與Jupyter環境配置
    隨著機器學習和人工智慧的崛起,python被越來越多的程序猿使用。python非常易用,但是包管理和Python不同版本問題卻讓人非常頭疼。Anaconda有著強大的包管理與環境管理功能,將python和許多常用的package打包。本文主要介紹linux下Anaconda的安裝與Jupyter環境配置。
  • python環境配置簡要流程
    1、下載並安裝anaconda 教程網上很多,路徑最好放在c盤,而且最好在安裝過程中勾選添加PATH。 然後再使用 conda create -n tf-gpu python=3.6(版本號) 創建虛擬環境tf-gpu 7、安裝tensorflow 然後選擇 activate tf-gpu
  • Python+Arcpy環境配置
    目錄一、安裝Pycharm1、安裝 2020.3.3版本2、手動配置環境變量(或者在安裝時勾選添加環境變量
  • 環境配置簡要流程
    環境配置簡要流程 1、 下載並安裝 anaconda2、 下載並安裝 vscode3、 下載並安裝 git4 、 調整 Anaconda5、 版本對應關係、安裝各種用到的庫14 、配置 vscode 1、下載並安裝 anaconda 教程網上很多,路徑最好放在 c 盤,而且最好在安裝過程中勾選添加 PATH 。
  • Python安裝教程之anaconda篇
    那麼對於迫切想學習Python的新手同學來說,第一件事情可能需要了解python是什麼?能用來做什麼?語法結構是怎樣的?這些我們幾句話很難介紹清楚,後續會陸續出python入門教程來為大家一一介紹。為了方便了解python是什麼,我想首先把python安裝到自己的電腦中也是很重要的步驟。本文將手把手教你如何安裝python.
  • 利用Anaconda在Windows及Linux下搭建Python環境【手把手版】
    ❝本文詳細介紹利用Anaconda在Windows及Linux下配置Python環境。、使用jupyter notebook 三、Anaconda在Linux下搭建Python環境    1、下載    2、安裝    3、手動添加Anaconda到環境變量中四、conda創建不同版本python    1、conda添加清華源    2、linux下conda創建虛擬python環境    3、Windows
  • Python學習|Anaconda、Jupyter Notebook、pycharm安裝使用詳解
    python的情景,有了 Anaconda,你無需切換到不同的環境,因為conda是一個環境管理器,可以創建獨立的 python 運行環境。只需要幾條命令,你就可以創建一個完全獨立的 python 環境來運行不同的 python 版本。除此之外,conda 創建的不同環境在安裝軟體包時,是共享的,這樣可以避免軟體安裝包的冗餘。
  • OpenCV基礎 | 1.python3.6+OpenCV4.0環境配置
    學習視頻可參見python+opencv3.3視頻教學 基礎入門[1]今天寫的是python3.6+OpenCV4.0環境的配置環境的配置是基於Anaconda的,沒有下載的小夥伴可以自行下載,附一個anaconda下載教程怎麼安裝
  • Anaconda詳細教程
    Anaconda介紹、安裝及使用教程前言Python是一種面向對象的解釋型電腦程式設計語言,具有跨平臺的特點,可以在Linux、macOS以及Windows系統中搭建環境並使用,其編寫的代碼在不同平臺上運行時,幾乎不需要做較大的改動就能運行。
  • 深度學習環境配置指南!(Windows、Mac、Ubuntu全講解)
    如果你正在面臨配置環境的痛苦,不管你是Windows用戶、Ubuntu用戶還是蘋果死忠粉,這篇文章都是為你量身定製的。接下來就依次講下Windows、Mac和Ubuntu的深度學習環境配置問題。一、Windows系統深度學習環境配置安裝組合:Anaconda+PyTorch(GPU版)+GTX10601.1 打開Anaconda Prompt1、conda create -n pytorch python=3.7.0:創建名為pytorch的虛擬環境,並為該環境安裝python=3.7。
  • 手把手教你在windows7上安裝tensorflow-gpu開發環境
    注意將安裝路徑添加到系統環境變量中,右鍵我的電腦--屬性--高級系統設置-環境變量,在系統變量path中加入anaconda的安裝路徑即可,如下圖所示:3、安裝tensorflow-gpu版本anaconda中已經內置了pip,所以選擇直接用pip進行安裝:pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0-cp35-cp35m-win_amd64.whl
  • 大神教小白搭建Jupyter Notebook環境
    pip install jupyter你也可以下載anaconda3、 conda常見命令conda不僅可以方便安裝,更新,卸載工具包,而且安裝時能自動安裝相應的依賴包。conda命令多數時候是在配置虛擬環境時使用,下面是conda常見命令conda list //查看當前的包conda search request //查找request庫conda install request //安裝request庫
  • 【深度學習】相當全面的深度學習環境配置指南!(Windows、Mac、Ubuntu全講解)
    俗話說,環境配不對,學習兩行淚。如果你正在面臨配置環境的痛苦,不管你是Windows用戶、Ubuntu用戶還是蘋果死忠粉,這篇文章都是為你量身定製的。接下來就依次講下Windows、Mac和Ubuntu的深度學習環境配置問題。
  • Anaconda安裝與使用
    (1) 建立工作目錄在命令行內建立並切換到工作目錄md\pythonworkcd\pythonwork(2) 建立Tensorflow Anaconda虛擬環境其中tensorFlow是建立虛擬環境的名字,也可以起任意其他名字。
  • 深度學習環境搭建詳細教程
    官網:https://www.anaconda.com/products/individual#windows# Anaconda 國內清華大學鏡像:https://mirrors.tuna.tsinghua.edu.cn/# Windows 下【next】即可,注意選擇將路徑添加到系統環境變量中那個選項# Win +
  • 小叮噹機器學習:Python3.6配置TensorFlow的GPU版詳細安裝教程
    然而網上的大多數都是圍繞python2.7版本的tensorflow教程,下面我們就來看看在Centos7 +pyton3.6的環境下,我們怎麼安裝使用這個功能強大的開源庫的GPU版本。首先進入官方下載地址:https://www.anaconda.com/download/由於是Centos7,我們選擇linux版本,之後根據自己安裝的python版本來選擇相應的安裝包版本。小叮噹這裡選擇的是Python3.6版本。
  • python新手傻瓜式開發環境Anaconda
    包管理和環境管理軟體,一般用來配置不同的項目環境。我們常常會遇到這樣的情況,正在做的項目A和項目B分別基於python2和python3,而第電腦只能安裝一個環境,這個時候Anaconda就派上了用場,它可以創建多個互不幹擾的環境,分別運行不同版本的軟體包,以達到兼容的目的。Anaconda在英文中是蟒蛇,表示像蟒蛇一樣性感妖嬈的身體
  • conda虛擬環境詳細教程(Linux)
    (由於我這裡安裝了多個anaconda,大家可以直接默認就行),然後就會自動安裝python以及相關包了,想簡單的話就都輸入yes就行。配置環境變量:vim /etc/profileexport PATH=/home/software_folder/anaconda3/bin:$PATHsource /etc/profile查看版本:
  • Python基礎入門——簡介和環境配置,超實用!
    上的環境配置。缺點:1.2 環境搭建Python 下載Python 官網可以查看最新的源碼、入門教程、文檔,以及和 Python 相關的新聞資訊,連結如下:https://www.python.org/官方文檔下載地址:https://www.python.org/doc/Python 安裝Python 在多個平臺上都可以使用,不同的平臺有不同的安裝方式,下面是不同平臺上安裝的方法
  • Anaconda及Pycharm的安裝及配置教程
    Anaconda是一個基於python的數據處理和科學計算平臺,它已經內置樂許多非常有用的第三方庫,裝上Anaconda,就相當於把python和一些常用的庫自動安裝好了。如果你是python初學者,建議直接安裝Anaconda+Pycharm就可以了。下面介紹Annaconda的下載、安裝和配置過程。