現在python3已經成為主流的python環境,大部分的package都兼容python3,仍然有一小部分,或者說是某一領域的package需要使用python2。本人現在主要在利用python做機器學習和深度學習,因此對python2還是有一定的需求。
對於一般的package而言,python3都已經很好的兼容,學習機器學習,基本上直接安裝Anaconda3即可。而深度學習大多數的框架對windows支持的不是很好,而且部分框架還對python的版本有一定的要求,name最理想的情況是,機子上可以同時擁有兩個python的環境。
方法有兩個,1. 直接安裝多個python解釋器或者多個版本的Anaconda。2. 利用virtualenv或者conda env來創建多個python虛擬環境。相比之下第二種方法會比較好。因為他可以創建出多個不同版本的python環境供開發使用。
由於做深度學習需要使用theano框架,而他對於python和package的版本有特定的要求,因此打算創建一個虛擬的環境來單獨運行theano。
本機環境:windows 10、Anaconda3、python3.6
python虛擬環境
不考慮底層的技術,python虛擬環境就類似於Docker這類的容器,它可以創建多個相互隔離的python環境來運行不同的腳本。在沒有conda之前,使用virtualnev
來實現,而現在conda不僅可以作為包管理工具,同時也能創建虛擬環境。下面是conda 有關於虛擬環境的一些用法。官方文檔可做參考。
常用命令
- 查看命令
conda env --help #查看幫助
conda env list #列出所有的虛擬環境
conda list --name [虛擬環境名] #查看指定虛擬環境下的package
- 虛擬環境操作命令
#創建
conda create --name [虛擬環境名] [python的版本] [需要的包]
eg:
conda create --name myenv
conda create --name myenv python=2.7
conda create --name myenv pytohon=2.7 numpy scipy
#克隆
conda create --name [虛擬環境名] -- clone [colne的環境]
eg:
#創建一個和原python環境一樣的虛擬環境
conda create --name mybase --clone base
#刪除
conda remove --name [虛擬環境名] -all
# 激活取消(默認的環境是base)
activate [虛擬環境名]
deactivate [虛擬環境名]
虛擬環境激活后,在cmd中輸入python,顯示的就是一個新的環境。
- package的安裝
可以在創建環境的時候跟上需要的package,也可以創建完再添加。
#先切換當前的環境再安裝
activate [虛擬環境名]
conda install [package_name]
#直接安裝
conda list --name [虛擬環境名] [package_name]
#安裝指定版本的package
一般直接install package就可以了,有些特定的package就需要指定版本了
conda install [package_name]=[version]
eg:
conda install numpy=0.12.0
關於 jupyter notebook
創建了新的env之后在pycharm打開notebook會報錯的,因為在新的env中沒有安裝。請在Anaconda Prompt中進行安裝
activate [new_env]
conda install jupyter
安裝完之后就可以在pycharm啟動了。
如果不通過pycharm,直接啟動的話,據說可以添加配置文件,就可以在多個env kernel中切換了。具體可以參考jupyter中添加conda環境
安裝theano框架
據說windows下安裝theano坑比較多,不過我裝下來還是比較順利的。
創建env
由於theano只支持大py3.5,目前機子里的版本是3.6,所以我們索性創建一個py27的env
conda create --name theano_py27 python=2.7
創建成功后,可以查看當前的env。
activate theano_py27
激活新的env,根據上圖安裝需要package。
conda install scipy=0.17.0 mkl-service
接下來就可以安裝theano了。此處需要安裝的package比較多,需要一定的時間。
conda install theano
安裝完成后,可以進行測試。
>>> import numpy
>>> import theano.tensor as T
>>> from theano import function
>>> x = T.dscalar('x')
>>> y = T.dscalar('y')
>>> z = x + y
>>> f = function([x, y], z)
切換完之后,在cmd中輸入python,可以發現,已經由原來的3.6變成2.7了。
在pycharm中使用虛擬環境
創建了新的env之后,打開pycharm,添加新的解釋器即可。一般在Anaconda\env\
目錄下。
這樣就OK了。