我的centos7.6系统
1 . 安装依赖
yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
- 如果系统没有git的话,还需要下载git
yum install -y git - 通过git下载pyenv(如果失败了多尝试几次)
git clone git://github.com/yyuu/pyenv.git ~/.pyenv #优先推荐这个
git clone https://github.com/pyenv/pyenv.git ~/.pyenv - 将环境变量添加至配置文件内
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >>~/.bash_profile
echo 'eval "$(pyenv init --path)"' >>~/.bash_profile
exec $SHELL -l #执行这条语句实现重启系统
- 查看pyenv提供支持的python版本,同时查看是否安装pyenv成功
pyenv install --list - 下载virtualenv,其可以创建自己项目的环境
git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv - 添加环境变量
echo 'eval "$(pyenv virtualenv-init -)"' >>~/.bash_profile
source ~/.bash_profile -
测试pyenv-virtualenv是否生效
WechatIMG28987.png
问题记录:mac安装pyenv配置环境变量后,无法切换python版本解决方案
- 切换不同python后,虽然pyenv版本更换了,但是python版本没有换过来,对应的pip版本也就换不过来了
把
echo 'eval "$(pyenv init --path)"' >>~/.bash_profile
可以替换一下
echo 'eval "$(pyenv init -)"' >>~/.bash_profile
然后再检查下以下原因:
我检查.zshrc文件的环境变量配置,没问题啊,都是安装教程博客里设置的,pyenv命令有,但是没生效,所以初步定位问题为环境变量配置
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
后来几经周折,然后注意到我安装的pyenv的版本,执行脚本的目录是/shims而不是/bin,然后把export PATH="$PYENV_ROOT/bin:$PATH"改成export PATH="$PYENV_ROOT/shims:$PATH",问题竟然就解决了。分析原因,有可能是我安装pyenv的时候,没有创建bin的软连接指向shims,所以环境变量没生效
注重点重点重点:(必须保证当前的配置是最后一个,不允许有其他配置在它后面)
因为我的电脑没有给我当前的用户root权限,所以针对一些底层的操作和命令的执行,需要使用sudo进行鉴权,同时在配置pyenv的环境变量的时候,必须保证当前的配置是最后一个,不允许有其他配置在它后面
image.png
- 如果pyenv install 安装Python版本比较慢,所以我们使用本地缓
存的方式安装不同版本的python
python>cd ./pyenv #进入目录
python>mkdir cache #新建cache文件
python>ls
Python-3.5.3.tar.xz Python-3.5.3.tgz #把需要安装的Python 版本rz上传到cache目录下
pyenv install 3.5.3 -v #-v表示安装过程可视化
网友评论