多版本Python的使用和切换,anaconda和pyenv的使用
建议使用Anaconda,因为有UI界面,点点鼠标就切换完成了。
pyenv,使用的是命令行切换不同的Python版本。
另外:Anaconda开源,同时也是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。适用于企业级大数据分析的Python工具。其包含了720多个数据科学相关的开源包,在数据可视化、机器学习、深度学习等多方面都有涉及。不仅可以做数据分析,甚至可以用在大数据和人工智能领域。参考这个 https://www.jianshu.com/p/169403f7e40c
以下为Mac系统下我的使用,其它系统我无法确认,你也可以做参考
两个貌似有点冲突,注意使用
安装并使用 Anaconda
下载地址,去下载,然后安装 https://www.anaconda.com/download/#macos
下载pkg或dmg文件,安装完成
一方法有UI的App,安装完后在Mac系统中已安装软件,点击启动运行,然后再点点鼠标就切换完成,(另,如遇到问题,记得右键使用sudo管理员权限运行即可)
另一方法,使用命令行来完成切换,命令如下1
2
3
4
5
6
7
8
9
10
11
12
13
14python --version
conda create -n python2 python=2 anaconda
ls -la /anaconda3/bin/activate
sudo chmod +x /anaconda3/bin/*
# To activate this environment, use:
# > source activate python2
#
# To deactivate an active environment, use:
# > source deactivate
(以上方法不行,用下边这方法)
activate python2 #换成2.7版本
python --version
deactivate python2 #换成默认的3.6版本
python --version
安装pyenv
Mac下先安装Homebrew
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
然后安装pyenv1
2
3
4
5
6brew install pyenv
brew -v
pyenv install --list #会列出可安装的Python版本号
#安装对应的Python版本,可以安装多个版本,比如:
pyenv install 2.7.10
pyenv install 3.6.5
安装可能会有卡顿,等一等再试
安装后查看版本pyenv versions及当前用的版本pyenv version
设置全局版本pyenv global 3.6.5 不建议如此操作,可能会导致部分系统程序无法正常工作
可以试试,指定目录切换指定版本的Python,如:pyenv local 3.5.1
pyenv rehash # 更新本地数据库
另外pyenv的global,shell,local的使用 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21~ pyenv versions
system (set by /home/wang/.pyenv/version)
3.3.1
~ python --version
Python 2.7.6
~ pyenv global 3.3.1 # 更改本机版本,重启不会造成再次更改
~ python --version
Python 3.3.1
~ pyenv local system # 更改本地的版本,只是临时生效,重启什么的会恢复系统版本
~ python --version
Python 2.7.6
~ python shell 3.3.1 # 更改本shell的版本,临时生效,优先级高于global,local的也高于global,都是临时生效
python: can't open file 'shell': [Errno 2] No such file or directory
~ pyenv shell 3.3.1
~ pyenv versions
system
3.3.1 (set by PYENV_VERSION environment variable)
~ python
Python 3.3.1 (default, May 8 2016, 21:27:17)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.