阿里云服务器CenterOS7.3下,Ubuntu18.4下通用。Python开发环境配置(pyenv+virtualenv)

一、为什么需要配置虚拟环境

Python 2和Python 3之间存在着较大的差异,并且,由于各种原因导致了Python 2和Python 3的长期共存。在实际工作过程中,我们可能会同时用到Python 2和Python 3,因此,也需要经常在Python 2和Python 3之间进行来回切换。这就需要对python的版本进行管理,除此之外还需要对不同的软件包进行管理。大部分情况下,对于开源的库我们使用最新版本即可。但是,有时候可能需要对相同的Python版本,在不同的项目中使用不同版本的软件包。

在这里,我们要使用两个工具:pyenv和virtualenv。前者用于管理不同的Python版本,后者用于管理不同的工作环境。有了这两个工具,Python相关的版本问题将不再是问题。

二、pyenv

pyenv是一个Python版本管理工具,它能够进行全局的Python版本切换,也可以为单个项目提供对应的Python版本。使用pyenv以后,可以在服务器上安装多个不同的Python版本,也可以安装不同的Python实现。不同Python版本之间的切换也非常简单。pyenv官方地址

ubuntu下安装:
为了能正确安装 先执行以下更新

sudo apt-get update

然后安装以下依赖和部分常用工具。

sudo apt-get install man gcc  make  lsof ssh openssl tree vim dnsutils iputils-ping

sudo apt-get install net-tools psmisc sysstat curl telnet traceroute wget libbz2-dev libpcre3

sudo apt-get install libpcre3-dev  libreadline-dev libsqlite3-dev libssl-dev llvm 

sudo apt-get install zlib1g-dev git mysql-server mysql-client zip  p7zip

安装pyenv

1 安装pyenv,在命令行下键入:
刚刚我们安装了git,利用git安装简单快速

$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

2 将安装路径写入~/.bashrc
将以下三条语句写入 ~/.bashrc
vim .bashrc 利用vim编辑器打开文件进入如下设置:

export PATH="/home/foxfly/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

然后执行

$ source  ~/.bashrc  #配置立刻生效

echo $PATH
#如果路径第一个结尾是shims则表示成功
/home/python/.pyenv/plugins/pyenv-virtualenv/shims:/home/python/.pyenv/shims:/home/python/.pyenv/bin:/home/python/bin:/home/python/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

3 更新一下

$ pyenv rehash

4.安装python。
千万别卸载ubuntu上原有的python2.7
#1.在安装python之前,我们必须要安装python所需要的依赖包,这个必须要安装, 否则安装会失败的:

sudo apt-get install libc6-dev gcc

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
pyenv install 3.6.4 -v  #-v 以日志模式显示安装过程, 3.6.4可以换成你想要的python版本

更新pyenv数据库

pyenv versions

列出所安装的python版本

pyenv versions

切换python版本

pyenv  global 3.6.4

安装virtualenv

virtualenv本身是一个独立的项目,用以隔离不同项目的工作环境。例如,项目A和项目B都是使用Python 2.7.13,但是,项目A需要使用Flask 0.8版本,项目B需要使用Flask 0.9版本。我们只要组合pyenv和virtualenv这两个工具,就能够构造Python和第三方库的任意版本组合,拥有了很好的灵活性,也避免了项目之间的相互干扰。

virtualenv本身是一个独立的工具,用户可以不使用pyenv单独使用virtualenv。但是,如果你使用了pyenv,就需要安装pyenv-virtualenv插件而不是virtualenv软件来使用virtualenv的功能。
#安装

$ pip install virtualenv

1.首先创建项目目录
$ sudo mkdir -p myproject/blog
cd myproject/blog

2.创建项目的虚拟环境
#用法:pyenv virtualenv python版本号 虚拟环境名
$ pyenv virtualenv 3.6.4 env36 #注意版本号必须是已经安装的,否则会报错
如果失败下载安装这个
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

安装完这个一定重启终端,不然一样无效。

3.切换到虚拟环境
python@ubuntu:/myproject/blog$ pyenv activate env36

切出虚拟环境
(env36) python@ubuntu:/myproject/blog$ pyenv deactivate env36

到此ubuntu下安装就结束了。

centeros7安装很相同

1.先安装依赖

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2.在家目录下安装pyenv

git clone git://github.com/yyuu/pyenv.git .pyenv

3.执行命令,设置配置文件

vim /etc/profile.d/pyenv.sh
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi

保存退出后

source /etc/profile.d/pyenv.sh
然后其他步骤和ubuntu下相同。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值