您的位置:首页 > 编程语言 > Python开发

Ubuntu下用pyenv进行python环境隔离

2016-05-16 22:57 381 查看

1.安装pyenv

sudo curl -L https://raw.github.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash

这个命令会把pyenv安装到当前用户的 ~/.pyenv目录下

然后在~/.bashrc中添加下面语句

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


然后执行

source ~/.bashrc

让我们所做的更改生效,这样就可以在任何位置调用pyenv命令

2.常用命令

直接输入pyenv可以列出常用的命令

pyenv


部分结果如下

Some useful pyenv commands are:

commands List all available pyenv commands

local Set or show the local application-specific Python version

查看可安装的版本

pyenv install --list


部分结果如下

Available versions:

2.1.3

2.2.3

2.3.7

查看已安装的版本

pyenv versions


结果如下

* system (set by /home/wpp/.pyenv/version)

其中的*表示当前使用的版本,system表示当前系统的版本

安装python 3.5.1

需要注意的是在安装python之前, 最好先执行下列命令安装一些必要的库, 防止装的python功能不全

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils


然后安装python

pyenv install 3.5.1


这时执行pyenv versions结果如下

* system (set by /home/wpp/.pyenv/version)

3.5.1

切换默认版本为 3.5.1

pyenv global 3.5.1


再次执行

pyenv versions


结果如下

system (set by /home/wpp/.pyenv/version)

* 3.5.1

想要切回系统默认版本,执行 pyenv global system 即可

要卸载某个版本的python执行

pyenv uninstall x.x.x


3.虚拟环境设置

用以上方式安装会集成virtualenv,所以我们就不用额外安装了

创建虚拟环境

pyenv virtualenv 3.5.1 py3env


这样会创建一个名为py3env的虚拟环境,位于~/.pyenv/versions/目录,其中的3.5.1为python版本号,可以视情况换为你需要的版本

此时执行pyenv versions结果如下

* system (set by /home/wpp/.pyenv/version)

3.5.1

3.5.1/envs/py3env

py3env

其中的py3env是一个链接文件,位于~/.pyenv/versions/,指向~/.pyenv/versions/3.5.1/envs/py3env

进入虚拟环境

pyenv activate py3env


此时命令行前面会有提示,如下所示

(py3env) wpp@linuxmint ~ $

注意前面的(py3env)提示符

退出虚拟环境

pyenv deactivate


在虚拟环境进行的所有操作都针对当前环境,不会污染系统,也不会版本错乱

要删除虚拟环境只需执行

rm -rf ~/.pyenv/versions/py3env/
rm -rf ~/.pyenv/versions/3.5.1/envs/py3env


如果觉得进入和退出python虚拟环境麻烦,可以在~/.bashrc中加入

alias py3env="pyenv activate py3env"
alias py3env_exit="pyenv deactivate"


这样进入和退出虚拟环境只需执行

py3env
#和
py3env_exit


4.让定时任务使用我们的虚拟环境

在网上搜了一些方法, 下面只列出我认为最简单的一种方法。

03 10 * * * /home/moma/.pyenv/versions/3.6.0/envs/pyenv3.6.0/bin/python yourprogram_path/test.py


参考:

用pyenv和virtualenv搭建单机多版本python虚拟开发环境

stackoverflow: Cron and virtualenv
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pyenv