这篇介绍 python3 的安装,及 python2 和 python3 的切换
1. Mac 下 安装 python
- 查看是否已有 python,方式:打开终端,输入 python,如出现如下,则说明已有默认安装的 python:
说明:一般 Mac 电脑上默认安装了 python,版本一般为 2.7 或 2.6
位置在:/System/Library/Frameworks/Python.framework/Versions/2.7
- 安装 python3:
方法1: 直接下载安装包安装,步骤如下:
1. 在浏览器输入 python download 或直接打开 python官网
2. 下载完成后,双击相应的 pkg 文件,即可一步步安装,此处要注意,此处的安装位置可自定义,切记要记住自己的安装路径,比如我的安装路径:
/Applications/python3.5.4/
3. 对应的会有相应的 Python 终端,即可测试
方法2:使用命令安装
1. 安装OS X的套件管理器 Homebrew
2. 安装配置 python 版本管理器 pyenv, 可使用命令:
1. brew update
2. brew install pyenv
3. 使用命令
1. sudo -H pip install python3.5.4 (python3 目录自动添加到 .bash_profile 中了,通过命令 open .bash_profile 查看,默认安装地址:/Library/Frameworks/Python.framework/Versions/3.5/bin)
2. brew install python3 (默认安装为新版本,地址:/usr/local/Cellar/python/3.6.5)
3. pyenv:
查看能安裝的版本: $ pyenv install --list
使用 pyenv 安装 python3: $ pyenv install 3.5.0 -v //此法安装需要配置环境变量,操作如下:
操作:打开环境变量文件,用命令 open .bash_profile,添加安装路径:
PATH="/Users/linda/.pyenv/versions/3.5.4/bin:${PATH}"
export PATH
之后就可以使用 python 和 python3 在 版本2和3之间切换
$ pyenv versions //* 表示系统当前正在使用的版本
切换 Python 版本:
$ pyenv global 3.5.4 //想运行的版本号
个人最终使用 pyenv 安装指定版本
另:若需要 删除某个版本 只需:pyenv uninstall 要卸载的版本号
eg:pyenv uninstall 3.5.4
y
4. 其他常用操作:
1. 查看能安裝的版本 $ pyenv install --list
2. 切换 python2 和 python3: $ python 和 $ python3
3. 退出 python shell,使用 exit() 或 control+D,回车即可
方法3: 可直接安装 anaconda
在使用Python时,经常需要用到的很多第三方库,如图像处理库Pillow,MySQL驱动程序,Web框架Flask、科学计算Numpy等。可以使用pip一个一个安装,但比较麻烦,还需要来考虑兼容性。因此推荐使用Anaconda,这是一个基于Python的数据处理和科学计算平台,它已经内置了很多非常有用的第三方库,安装上Anaconda,就相当于把数十个第三方模块自动安装好了,非常简单易用。
2. 此处选取的是 python2.7 和 python3.6,下载对应的 anaconda 文件(.pkg 格式的文件):
1 python2.7/python3.X 直接官网下载自己想要的对应版本的 pkg 文件
2. 打开不同的 pkg 文件,按指示安装即可,默认的安装地址为:/Users/{自己用户名}/anaconda2(安装地址也可自行设置,安装过程中有提示设置位置)
安装地址可通过 open .bash_profile 打开查看,该路径已默认设置为环境变量
PS:1. 由于 pkg 文件安装方式,会默认将地址设置为环境变量,因此安装的顺序会决定环境变量。比如说:先安装了 anaconda2(即Python2.7),后安装的 anaconda3(Python3.6),此时两个Python环境变量都写入了,但系统会默认后者,即输入 python 时,默认的是 环境Python3.6,而 python2 为 Python2.7,也就是说此时环境,输入 python/python3 则会进入 Python3.6 Shell 环境;输入 python2 则会进入 Python2.7 Shell 环境。简言之,要切换 2.7和 3.6 ,只需 python2/python3 命令。
2. 当然,我们可以自行调整输入 python时的默认版本,只需要调整 两个版本的环境设置顺序即可。设置办法:命令打开 .bash_profile (open .bash_profile),置换两个设置顺序即可。
比如:我的 .bash_profile 设置如下:
# added by Anaconda3 5.2.0 installer
export PATH="/Users/linda/develop_install/anaconda3/bin:$PATH"
# added by Anaconda2 5.2.0 installer,会覆盖anaconda3,即3.6
export PATH="/Users/linda/develop_install/anaconda2/bin:$PATH"
此时,产生的效果如下(python2/python3切换):
可以看到进入了不同 Shell 环境。
3. 用不同的 python 版本创建虚拟环境,命令:
conda create -n py36 python=3.6.5 anaconda //创建虚拟环境:其中 py36 是虚拟环境安装的文件夹名称,可自定义
安装地址说明:默认的安装地址为:/Users/{用户名}/.conda/envs/py36
创建成功,如下所示:
后,使用activate激活某个虚拟环境:
source activate py36 // for Linux & Mac
激活后,会发现 terminal 输入的地方多了 py36(安装的python文件夹名称,eg:下图中的anaconda3) 的字样,实际上,此时系统做的事情就是把默认 2.7 环境从PATH中去除,再把 3.5.4 对应的命令加入 PATH
如下图(红色横线的名称是自己安装的 对应python版本的anaconda文件夹):
Conda的环境管理
Conda的环境管理功能允许我们同时安装若干不同版本的Python,并能自由切换。对于上述安装过程,假设我们采用的是Python2.7对应的安装包,那么Python 2.7就是默认的环境(默认名字是root,注意这个root不是超级管理员的意思)。
假设我们需要安装Python 3.4,此时,我们需要做的操作如下:
//创建一个名为python34的虚拟环境,指定Python版本是3.4(不用管是3.4.x,conda会为我们自动寻找3.4.x中的最新版本)
conda create --name python34 python=3.4
//安装好后,使用 activate 激活(启动)某个虚拟环境
activate python34 # for Windows
source activate python34 # for Linux & Mac //激活后,会发现terminal输入的地方多了python34的字样,实际上,此时系统做的事情就是把默认2.7环境从PATH中去除,再把3.4对应的命令加入PATH
//虚拟环境测试:此时,再次输入
python --version //可以得到`Python 3.4.5 :: Anaconda 4.1.1 (64-bit)`,即系统已经切换到了3.4的环境
//退出当前虚拟环境:如果想返回默认的python 2.7环境,运行
deactivate python34 # for Windows
source deactivate python34 # for Linux & Mac
//删除一个已有的虚拟环境
conda remove --name python34 --all
//查看创建过的虚拟环境
conda env list
# conda environments:
#
py3_5_test_env /home/clip/miniconda2/envs/py3_5_test_env
test /home/clip/miniconda2/envs/test
root * /home/clip/miniconda2
pyenv versions,结果如下:
部分命令操作示例如下:
说明:尽量以 命令 形式安装便于卸载,版本升级等,方法2中前两步可通用。
后记:自己的安装过程,有些问题可能没遇到,希望大家添加,不足之处也希望大家指正。
参考:https://www.jianshu.com/p/1927349cb6a2
https://www.tuicool.com/articles/MBNrquE(pyenv 的一些操作命令)
https://www.zhihu.com/question/30941329
https://www.jianshu.com/p/2f3be7781451 (**还不错**Anaconda+Conda的环境管理)