创建虚拟运行环境及多版本python切换

来源:互联网 发布:杨氏弹性模量数据ed 编辑:程序博客网 时间:2024/06/07 05:16

最近由于要装量化方面的包,但是老是出现错误。本来我不想这么麻烦的,就想使用系统中的python环境,但是经过几天几夜的尝试,但是最后发现还是不行。即使是安装anaconda还是有问题,其他网友都没有问题,唯独我问题不断,也许是因为我是小白的原因吧。
下面是我安装虚拟运行环境以及多版本python切换的方法。主要是参考其他网友的安装方法,我只是整合而已。
我们需要的软件包有:pyenv、pyenv-virtualenv。
首先安装pyenv。
这个有几种方法:
一种是
brew install pyenv
另一种是
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
安装后,需要将其写入系统文件中,有些电脑是写入.bashrc文件、有些电脑是写入.bash_profile中,如果系统问价是.zshrc文件,那怎样确定是写入那个文件呢?

Mac OS 一般使用 bash 作为默认 shell,Mac OS 系统的环境变量加载顺序为: ->/etc/profile -> /etc/paths -> ~/.bash_profile ->~/.bash_login -> ~/.profile ->~/.bashrc

前两个是系统级别的,系统启动就会加载,后面几个是当前用户级的环境变量。后面3个按照从前往后的顺序读取,如果 ~/.bash_profile 文件存在,则后面的几个文件就会被忽略不读了,如果 ~/.bash_profile 文件不存在,才会以此类推读取后面的文件。~/.bashrc 没有上述规则,它是 bash shell 打开的时候载入的。

我们这这里讲单个用户设置环境变量,而不是全局设置,~/.bash_profile (任意一个文件中添加用户级环境变量),需要注意的是:Linux 里面是 .bashrc,而 Mac 是 .bash_profile,若 bash shell 是以 login 方式执行时,才会读取此文件,该文件仅仅执行一次。

因此,根据上面说的,mac中应该是写入.bash_profile 文件中。

那又怎样查看自己电脑是不是应该写入.zshrc文件中呢?
zsh好像是与bash一样是一种shell语言。
简单的方法就是
cd ~/.bash 看看有没有这样的文件(呵呵)。
其实mac和Linux/Unix默认都是使用Bash。听说zsh是shell语言中的终极shell。不知道使用zsh会是什么感觉,对我这样的小白,还是留着以后慢慢探讨吧。

闲话少说,还是回归正题。
上面提到要将pyenv写入系统文件。
使用vim ~/.bash_profile打开.bash_profile文件。在文件中依次加入

export PYENV_ROOT="$HOME/.pyenv"export PATH="$PYENV_ROOT/bin:$PATH"eval "$(pyenv init -)"

或者在终端上直接使用echo命令:

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile #然后需要修改环境变量,使用 Bash Shell 的输入echo 'export PATH="$PYENV_ROOT/bin:$PATH"  >> ~/.bash_profileecho 'eval "$(pyenv init -)"' >> ~/.bash_profile #最后添加pyenv initexec $SHELL -l     #输入命令重启 Shell,然后就可以重启pyenv

与pyenv整合,实现支持多个Python版本的virtualenv虚拟环境
接着,安装pyenv-virtualenv插件
macOS:

brew install pyenv-virtualenv

使用pyenv安装python版本
前面已经提到如何安装pyenv。下面我将介绍如何使用pyenv安装python版本。
查看可安装的python版本

pyenv install --list

安装指定的python版本

pyenv install 3.4.1 

安装对应版本的虚拟环境,取名为venv341
注意:是先用pyenv安装了对应python版本后,在进行下面操作。

pyenv virtualenv 3.4.1 venv341

有些python版本有点大,这样安装会很耗费时间的。
我们可以将python版本下载下来,然后移动到~/.pyenv/cache/文件夹中。
~/.pyenv/文件夹是在安装pyenv模块后就会自动创建的。由于~/.pyenv/是隐藏文件,我们可以使用ls -a查看。
对应的版本python版本都安装在~/.pyenv/versions文件夹中。

使用pip安装的包完成之后,可能需要对数据库进行更新:(务必执行下面命令)

pyenv rehash

python版本切换
全局版本切换:

pyenv global anaconda-2.4.0

局部版本切换

pyenv local python3.4.1

切换和使用新的python虚拟环境:

pyenv activate env271

这样就能切换为这个版本的虚拟环境。通过输入python查看现在版本,可以发现处于虚拟环境下了。
下面基本上你就可以在这个虚拟环境里面为所欲为了 :) 再也不用担心系统路径被搞乱的问题了
如果要切换回系统环境, 运行这个命令即可

pyenv deactivate

那如果要删除这个虚拟环境呢? 答案简单而且粗暴,只要直接删除它所在的目录就好:

rm -rf ~/.pyenv/versions/env271/

或者卸载:

pyenv uninstall env271
0 0
原创粉丝点击