pyenv实现多个python版本并存 由于python 2和3存在不小的区别,尤其个别第三方库并不是都兼容,所以有时候我们需要在同一台服务器上运行多个不同的python版本
1.安装pyenv (1)安装到$HOME/.pyenv目录:
1
git clone https://github.com/yyuu/pyenv.git ~/.pyenv
(2)配置环境变量
1
2
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
(3)添加pyenv初始化到你的shell并生效
1
2
3
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile
source ~/.bash_profile
2.安装需要的python版本 查看可安装版本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[db_dlp@prd-bigdata20 ~]$ pyenv install --list
Available versions:
2.1.3
2.2.3
2.3.7
2.4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
2.5
2.5.1
2.5.2
2.5.3
2.5.4
2.5.5
2.5.6
2.6.6
2.6.7
2.6.8
2.6.9
2.7-dev
2.7
2.7.1
2.7.2
2.7.3
2.7.4
2.7.5
2.7.6
...
安装:
卸载:
查看已安装版本:
1
2
3
[db_dlp@prd-bigdata20 ~]$ pyenv versions
* system (set by /home/db_dlp/.pyenv/version)
3.6.3
3.切换python版本 局部切换 python版本仅作用于指定的目录环境,切换到指定的目录下执行:
全局切换
4.pyenv安装pyhton下载安装慢的问题 使用pyenv在安装python时,由于是去python官方下载,由于总所周知的原因,经常会遇到下载缓慢的问题。 对此,可以事先下载好python包,放到~/.pyenv/cache目录即可。修改~/.pyenv/plugins/python-build/share/python-build/3.6.3文件:
1
2
3
4
5
6
7
8
9
cat ~/.pyenv/plugins/python-build/share/python-build/3.6.2
install_package "openssl-1.0.2g" "https://www.openssl.org/source/openssl-1.0.2g.tar.gz#b784b1b3907ce39abf4098702dade6365522a253ad1552e267a9a0e89594aa33" mac_openssl --if has_broken_mac_openssl
install_package "readline-6.3" "http://ftpmirror.gnu.org/readline/readline-6.3.tar.gz#56ba6071b9462f980c5a72ab0023893b65ba6debb4eeb475d7a563dc65cafd43" standard --if has_broken_mac_readline
if has_tar_xz_support; then
install_package "Python-3.6.3" "~/.pyenv/cache/Python-3.6.3.tar.gz" ldflags_dirs standard verify_py35 ensurepip
else
install_package "Python-3.6.3" "~/.pyenv/cache/Python-3.6.3.tar.gz" ldflags_dirs standard verify_py35 ensurepip
fi
可以提前安装好一些依赖包:
1
yum install -y gcc make patch gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel readline-devel
这样再次执行pyenv install 3.6.3
时,就不会出现安装慢的问题。
5.切换版本后python版本未变更 添加环境变量
1
2
3
4
export PYENV_ROOT="$HOME /.pyenv"
export PATH="$PYENV_ROOT /bin:$PATH "
eval "$(pyenv init -) "
eval "$(pyenv virtualenv-init -) "
如果变量生效报错,可能是需要安装pyenv-virtualenv
插件:
1
git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv