第3篇:Windows下安装Python和创建虚拟环境
- 一、最省心的python安装方式
- 1.1 下载Anaconda
- 1.2 安装Anaconda
- 1.3 版本管理
- 二、创建python虚拟环境
- 2.1 为什么要创建虚拟环境?
- 2.2 conda创建虚拟环境
- 2.3 virtualenv创建虚拟环境
- 2.4 conda和virtualenv创建虚拟环境的区别
- 参考文章
前面两篇都是介绍性的内容,了解即可,前面甚至介绍了IDE,但Python都还没有安装。这一篇文章就来介绍如何在安装Python,不过这篇文章是针对Windows操作系统的,Linux和Mac OS系统本身都自带python 2的版本。如果你使用的是Mac,并且想安装python3,非常简单,请自行百度;如果你是用的Linux操作系统,那通常可以认为你是由Linux系统管理经验的,自行安装python3应该也是没有问题的。
一、最省心的python安装方式
Python安装方式千千万万,
最省心的还是用Anaconda。
Python安装并不难,可以通过下载exe文件的方式安装或者其它别的什么方式安装,但后续使用过程中可能会存在一些问题。此外,Python2和Python3具有显著差异性,既有代码很多都是基于python2的,在python3下无法运行,所以很多时候需要同时安装多个版本的python,并且在不同版本之间切换,非常麻烦。
今天就来介绍一种最省心、可以方便进行版本管理的python安装方式:Anaconda。
1.1 下载Anaconda
Anaconda是Python的一个开源发行版本,主要面向科学计算。我们可以简单理解为,Anaconda是一个预装了很多我们用的到或用不到的第三方库的Python。
- Anaconda官网:https://www.anaconda.com/注: 如果你真的选择去官网下载Anaconda的话会发现,速度慢到令人发指;当你等待了30多分钟下载安装完以后想要安装或者更新其中的包时,又会发现其速度慢到会断开连接安装报错…
- 正确下载方式:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/注: https://mirrors.tuna.tsinghua.edu.cn/ 是清华大学开源软件镜像站,可以通过这个镜像站进行下载Anaconda并配置镜像。
- 版本选择:与Python相对应,Anaconda的版本分为Anaconda2和Anaconda3,大家可以自行下载日常常用的版本,提供32(-X86)位和64(-X86_64)位下载。这里建议大家下载最新版的Anaconda3。
注:python 2.x和pytohn 3.x混用的同学也不要担心,后面1.3节中我们会讲具体的版本管理,这也是Anaconda强大好用的地方。
1.2 安装Anaconda
下载好Anaconda的.exe文件后,进行安装。安装过程很简单,下面简单说一些需要注意的。
- 安装位置选择:默认安装在C盘,可以更改为其它盘符。需要注意的是:安装路径不要出现空格。
- 安装确认环节:安装过程中会出现两个需要勾选的地方,如下图。第一个勾是是否把Anaconda加入环境变量,这涉及到能否直接在cmd中使用conda、jupyter、ipython等命令,推荐打勾,如果不打勾话问题也不大,可以在之后使用Anaconda提供的命令行工具进行操作;第二个是是否设置Anaconda所带的Python 3.6为系统默认的Python版本,这个自己看着办,问题不大,推荐也勾选上。后续就一路默认安装即可。
- 安装完成后测试:安装完成后,可以打开cmd,分别输入
python、ipython、conda、jupyter notebook
等命令,如果看到相应的返回结果,说明安装成功。
- python:是进入python交互命令行;
- ipython:是进入ipython交互命令行;
- conda:是Anaconda的配置命令;
- jupyter notebook:会启动Web端的ipython notebook
- 设置镜像: 安装成功后,我们修改Anaconda的包管理镜像为国内镜像。(2019年上半年由于版权问题,貌似清华源不再能提供Anaconda的包管理,不过这里我们还是添加上吧)。修改包管理镜像的方式非常简单,在cmd命令行中分别执行下面两条命令:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
1.3 版本管理
前面我们下载安装了Anaconda3,它自带了python 3.x的版本,我们我们还需要一个python2.x的版本,怎么办?
补充说明:如果之前安装的是Anaconda2需要添加Python 3.x,把下面的操作里的2.7改为3.6或3.5即可。
- 如何安装python2.x?:
有了Anaconda3后,这个工作变得非常简单,只需要在cmd命令行中执行下面一条命令即可:conda create -n py27 python=2.7
,这里py27是可以自定义的新环境名字。
(我们安装Anaconda3后,cmd命令行执行python默认是启动的python3,那如何启动python2呢?) - 如何激活python2.x?
Anaconda3中安装好python2.x后,在cmd下激活和退出该环境分别只需要一条命令。
- 激活:
activate py27
- 退出:
deactivate py27
, 这里的py27对应前面自定义的新环境名字。
二、创建python虚拟环境
放在这里讲创建python的虚拟环境可能会比较早,但考虑了一下还是决定放在这里,可以作为提前了解的知识,后续需要用到再返回来查看。上面讲python版本管理时是通过Anacond3创建python2.x的方法,实际上这就是一种创建虚拟环境的方法,这里我们再介绍一种创建虚拟环境的方法,两种方法放在一起便于比较。
2.1 为什么要创建虚拟环境?
在开发Python应用程序的时候,系统安装的Python3只有一个版本,所有第三方的包都会被`pip`安装到Python3的`site-packages`目录下。
如果我们要同时开发多个应用程序,那这些应用程序都会共用一个Python,就是安装在系统的Python 3。如果不同应用程序所依赖的第三方的包版本不同,比如应用A需要jinja 2.7,而应用B需要jinja 2.6,怎么办?总不能采用覆盖安装的方式,这就有点类似于拆东墙补西墙的了!
这种情况下,每个应用可能需要为每个应用配置一套“独立”的Python运行环境,用于不同应用之间的环境隔离,也叫做虚拟环境,这有点沙箱的作用,起到防外部侵犯干扰。
下面我们就来讲一讲两种python常用的创建虚拟环境的方法:conda
和virtualenv
。
2.2 conda创建虚拟环境
conda我们在上面一小节中有介绍,它是基于Anaconda的安装,当你安装好Anaconda后就可以使用conda的相关指令。这里我们对上一节的内容进行拓展。
- 查看包:
-
conda list
查看安装了哪些包 -
conda env list
查看有哪些虚拟环境 -
conda -V
查看conda的版本
- 创建虚拟环境,n表示name:
-
conda create -n py2 python=2* anaconda
例1:这样就会安装anaconda2版本和python2; -
conda create -n myflaskapp flask
例2:这条命令安装了一个名为myflaskapp虚拟环境,安装flask包; -
conda create -n nb --clone root
例3:这个是克隆创建了一个和原系统一样的python环境,命名为nb; -
conda create -n py3 python=3*
例4:这就是我们上一小节讲到的创建虚拟环境的方法
- 激活环境:
- Linux:
source activate yourenvname
- Windows:
activate yourenvname
- 关闭环境:
- Linux:
source deactivate
- Windows:
deactivate
- 为指定虚拟环境安装包:
conda install -n yourenvname [package]
- 移除虚拟环境:
-
conda remove --name $ENVIRONMENT_NAME $PACKAGE_NAME
移除某个环境中的包 -
conda remove -n yourenvname --all
移除某个虚拟环境
补充说明:在Anaconda3中通过conda create
创建的这些所有虚拟环境,都在path\to\Anaconda3\envs
即Anaconda的安装目录文件夹下,默认是C:\Anaconda3\envs
。
2.3 virtualenv创建虚拟环境
virtualenv是一个python的第三方包,在使用它进行虚拟环境创建之前需要安装这个包
- 安装virtualenv:
pip install virtualenv
- 创建虚拟环境:(分三步走)创建了一个名为myproject的文件夹,然后这里边创建虚拟环境venv。
$ mkdir myproject #当然也可以手动创建文件夹
$ cd myproject
$ virtualenv venv #虚拟环境名字为venv
补充说明:
- 在创建virtualenv时增加
--no-site-packages
选项的virtualenv就不会读取系统包,如下:virtualenv venv --no-site-packages
- 增加
--distribute
选项使virtualenv使用新的基于发行版的包管理系统而不是 setuptools 获得的包,如下:virtualenv --distribute venv
你现在需要知道的就是--distribute
选项会自动在新的虚拟环境中安装pip
,这样就不需要手动安装了。 当你成为一个更有经验的Python开发者,你就会明白其中细节。
- 激活环境:
- Windows: $
venv\scripts\activate
或cd进入到venv虚拟环境文件夹下执行scripts\activate
- 关闭环境:
- Windows:
deactivate
2.4 conda和virtualenv创建虚拟环境的区别
conda相对于virtualenv创建虚拟环境时更强大。conda既可以创建python3的虚拟环境又可以创建python2虚拟环境,它不依赖于已有的python版本;virtualenv则是基于已有的python版本创建一个新的干净的相同版本虚拟环境。
virtualenv相对于conda来说,前者创建的虚拟环境更干净更轻量级,所以通常来说:
- 用 conda 管理 Python 开发环境
- 用virtualenv建立多个Python独立开发环境