Django开发实战及进阶:Python独立环境安装

在实际的学习开发过程当中,不少时候同时进行的项目不止一个,他们用到的python版本可能不同,为了避免让一个项目的环境影响到另一项目,咱们须要安装配置多个相互不依赖的环境来运行多个python项目,pyenv 结合插件 virtualenv 就恰好知足这个需求,python


安装pyenv

默认是安装在当前用户的家目录mysql

root@pts/2 $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
Cloning into '/root/.pyenv'...
remote: Counting objects: 12744, done.
remote: Total 12744 (delta 0), reused 0 (delta 0), pack-reused 12744
Receiving objects: 100% (12744/12744), 2.26 MiB | 453.00 KiB/s, done.
Resolving deltas: 100% (8837/8837), done.

复制代码

配置pyenv, 修改~/.bashrc 为以下linux

root@pts/2 $ cat ~/.bashrc 
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

## add by colin
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
## end by colin 

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi
复制代码

配置生效git

### 方式一
从新打开一个新的 session,也就是新的命令行界面

### 方式二
在当前的命令行执行 source ~/.bashrc

### 方式三
在当前的命令行执行 exec $SHELL -l
复制代码

配置生效以后验证github

root@pts/5 $ pyenv versions
* system (set by /root/.pyenv/version)
复制代码

安装插件 virtualenv

推荐使用 pyenv 来安装插件 pyenv-virtualenvsql

root@pts/5 $ ls -l ~/.pyenv/plugins/
total 4
drwxr-xr-x 5 root root 4096 Jun  7 10:51 python-build

root@pts/5 $ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
Cloning into '/root/.pyenv/plugins/pyenv-virtualenv'...
remote: Counting objects: 1800, done.
remote: Total 1800 (delta 0), reused 0 (delta 0), pack-reused 1800
Receiving objects: 100% (1800/1800), 517.45 KiB | 143.00 KiB/s, done.
Resolving deltas: 100% (1230/1230), done.

root@pts/5 $ ls -l ~/.pyenv/plugins/
total 8
drwxr-xr-x 7 root root 4096 Jun  7 12:00 pyenv-virtualenv
drwxr-xr-x 5 root root 4096 Jun  7 10:51 python-build

复制代码

配置插件bash

修改~/.bashrc 添加以下行 在上面的配置 pyenv时添加的后面session

eval "$(pyenv virtualenv-init -)"
复制代码

添加只有以下:学习

## add by colin
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
## end by colin 
复制代码

生效方式参考上面pyenv的方式,这里再也不重复ui


pyenv 安装Python多版本

从上面的 pyenv versions 结果看到当前主机只有一个 system环境 ,也就是说只有一个系统的Python版本,并且目前Linux系统默认的Python版本是2.7,大多状况不知足咱们实际的需求。咱们能够回用到python3.6等等。

因此能够利用 pyenv 安装Python多版本,简单方便

首先安装相关依赖

yum install readline readline-devel readline-static -y
yum install openssl openssl-devel openssl-static -y
yum install sqlite-devel -y
yum install bzip2-devel bzip2-libs -y

复制代码

安装新版本

root@pts/0 $ pyenv install 3.4.4 -v
/tmp/python-build.20160608164944.31714 /tmp
/tmp/python-build.20160608164944.31714/Python-3.4.4 /tmp/python-build.20160608164944.31714 /tmp
Installing Python-3.4.4...
configure: WARNING: unrecognized options: --enable-unicode
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
... ...
Ignoring indexes: https://pypi.python.org/simple
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-7.1.2 setuptools-18.2
/tmp/python-build.20160608161532.16979 /tmp
/tmp
Installed Python-3.4.4 to /root/.pyenv/versions/3.4.4
复制代码

检查是否安装成功

root@pts/3 $ pyenv versions
* system (set by /root/.pyenv/version)
  3.4.4
复制代码

能够看到咱们已经安装了一个新的 Python版本 3.4.4


建立独立虚拟环境

建立新的虚拟环境实际存在于~/.pyenv/versions/目录

## 建立 名字为py3.4.3的虚拟环境
## 注意 第三个 '3.4.4' 版本号码是必须的
root@pts/5 $  pyenv virtualenv 3.4.4 py3.4.4
Ignoring indexes: https://pypi.python.org/simple
Requirement already satisfied (use --upgrade to upgrade): setuptools in /root/.pyenv/versions/3.4.4/envs/py3.4.4/lib/python3.4/site-packages
Requirement already satisfied (use --upgrade to upgrade): pip in /root/.pyenv/versions/3.4.4/envs/py3.4.4/lib/python3.4/site-packages

## 查看新增的虚拟环境
root@pts/5 $ ls -l ~/.pyenv/versions/
total 8
drwxr-xr-x 7 root root 4096 Jun  7 12:05 3.4.4
lrwxrwxrwx 1 root root   40 Jun  7 12:05 py3.4.4 -> /root/.pyenv/versions/3.4.4/envs/py3.4.4

root@pts/5 $ pyenv versions
  system
* 3.4.4 (set by /root/.pyenv/version)
  3.4.4/envs/py3.4.4
  py3.4.4
复制代码

虚拟环境的使用

## 进入虚拟环境
root@pts/6 $ pyenv activate py3.4.4
pyenv-virtualenv: prompt changing will be removed from future release. configure 'export PYENV_VIRTUALENV_DISABLE_PROMPT=1' to simulate the behavior.
(py3.4.4) Dev-mysql-mem [~] 2016-06-07 12:12:35

## 查看虚拟环境版本
root@pts/6 $ python -V
Python 3.4.4

## 退出到系统环境
root@pts/6 $ pyenv deactivate
Dev-mysql-mem [~] 2016-06-07 12:14:46
root@pts/6 $ 
复制代码

虚拟环境的卸载

## 方式一:暴力删除
rm -rf ~/.pyenv/versions/py3.4.4

## 方式二:温柔卸载
pyenv uninstall py3.4.4
复制代码

至此 利用 pyenv+virtualenv 安装多Python环境和独立的虚拟开发环境已经完成,接下来开启咱们新的征程吧


补充

相关文章
相关标签/搜索