现在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,添加新的解释器即可。一般在Anacondaenv
目录下。
这样就OK了。