您的位置:首页 > 运维架构 > Linux

Mac/Linux多版本Python共存之Pyenv,PyCharm多版本切换

2016-06-16 16:53 1006 查看
mac多版本python共存之pyenv安装见【文章】

pyenv是多版本python共存的环境工具,可以使我们在不改变系统环境的情况下,可以随意切换不同python版本。

**废话

为什么要安装多个不同版本python?

答:这里需要注意的是,在类unix系统中,很多工具都是基于python开发的,故系统工具都是配置了系统默认的python版本,当我们更换了默认的python之后,肯定会导致部分工具不能正常使用。

为什么更换了不同的python版本之后就会导致部分工具不能正常使用?

答:因为python各版本中很多类及模块都变了,所以基于某个版本开发的工具,在更换了不同python版本之后,就会导致工具中的某个模块、代码错误,而不能正常使用。

**正文安装

安装pyenv

#pyenv是shell脚本编写的,只需要下载然后指定环境变量就可以了

$ cd ~HOME/.pyenv
$ git clone git://github.com/yyuu/pyenv.git .pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile

~/.bash_profile是shell的配置文件,根据Linux系统的不同而不同,需作修改,如:Ubuntu:~/.bashrc


$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
#重启 shell(因为修改了 $PATH)
$ exec $SHELL


[root@localhost ~]# pyenv versions          #验证是否安装成功
* system (set by /root/.pyenv/version)          #刚安装完,pyenv提示使用系统默认python


[root@localhost ~]# pyenv install 3.5.1        #安装python,必须要写明要安装的版本
#或
[root@localhost ~]# pyenv install -v 2.7.3 #显示详细信息


是不是很想知道python的版本怎么来的?

[root@localhost ~]# vim .pyenv/plugins/python-build/bin/

# Summary: Install a Python version using python-build
#
# Usage: pyenv install [-f] [-kvp] <version>
#        pyenv install [-f] [-kvp] <definition-file>
#        pyenv install -l|--list
#        pyenv install --version
#
#   -l/--list          List all available versions
#   -f/--force         Install even if the version appears to be installed already
#   -s/--skip-existing Skip if the version appears to be installed already
#
#   python-build options:
#
#   -k/--keep          Keep source tree in $PYENV_BUILD_ROOT after installation
#                      (defaults to $PYENV_ROOT/sources)
#   -p/--patch         Apply a patch from stdin before building
#   -v/--verbose       Verbose mode: print compilation status to stdout
#   --version          Show version of python-build
#   -g/--debug         Build a debug version
#


[root@localhost ~]# pyenv install  -l
Available versions:
……
3.4.5
3.5.0
3.5-dev
3.5.1
3.5.2
3.6.0rc1
3.6-dev
3.7-dev


[root@localhost ~]# pyenv which python
/usr/bin/python         #显示所有python路径


使用

在使用了Pyenv进行多版本python管理的同时,系统可以依照Pyenv进行python之间的切换,但PyCharm默认是不会随着切换python版本,所以就需要配置PyCharm,配置如下:

preferences》project:**》project interpreter》add local

此处的add local就是需要你找到pyenv安装的多个python版本地址

附1

在国内使用pyenv install安装python的话,可能会比较慢,甚至下载安装不成功,所以最好使用是下载好python源码,然后通过pyenv进行安装,那么pyenv怎么通过源码进行安装python呢?

首先,下载你想要的python源码

其次,将python源码放置在~/.pyenv/cache/目录中(1、不要解压2、如果没有cache就创建一个)

最后,pyenv install 3.5.2

此时安装时就不会去官网上下载了

附2

ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

角斗办法:https://github.com/pyenv/pyenv/wiki/Common-build-problems(根据不同的操作系统安装不同的软件即可)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python unix mac