virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本冲突问题。
安装:
pip install virtualenv
创建独立python环境:
1、创建目录
mkdir myproject
cd myproject/
2、创建一个独立的python环境
virtualenv -p /root/.pyenv/versions/2.7.5/bin/python --no-site-packages venv275
加上了参数--no-site-packages
,这样,已经安装到系统Python环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的Python运行环境
这里用到了pyenv里的一个2.7.5版本的python
关于pyenv,可查看 python多版本共存之pyenv https://seisman.info/python-pyenv.html
这里列出常用的几条命令:
查看可安装的版本
1 | $ pyenv install --list |
安装指定版本
使用如下命令即可安装 python 3.4.1:
1 | $ pyenv install 3.4.1 -v |
该命令会从 github 上下载 python 的源代码,并解压到 /tmp
目录下,然后在 /tmp
中执行编译工作。
更新数据库
安装完成之后需要对数据库进行更新:
1 | $ pyenv rehash |
查看当前已安装的 python 版本
1 2 3 | $ pyenv versions
* system (set by /home/seisman/.pyenv/version)
3.4.1 |
其中的星号表示当前正在使用的是系统自带的 python。
设置全局的 python 版本
1 2 3 4 | $ pyenv global 3.4.1
$ pyenv versions
system
* 3.4.1 (set by /home/seisman/.pyenv/version) |
当前全局的 python 版本已经变成了 3.4.1。也可以使用 pyenv local
或 pyenv shell
临时改变 python 版本。
确认 python 版本
1 2 3 4 5 | $ python Python 3.4.1 (default, Sep 10 2014, 17:10:18) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> |
使用 python
- 输入
python
即可使用新版本的 python; - 系统自带的脚本会以
/usr/bin/python
的方式直接调用老版本的 python, 因而不会对系统脚本产生影响; - 使用
pip
安装第三方模块时会安装到~/.pyenv/versions/3.4.1
下, 不会和系统模块发生冲突。 - 使用
pip
安装模块后,可能需要执行pyenv rehash
更新数据库;
===================================================
实例:
在阿里云centos6.5系统(默认python2.6.6)上使用pyenv安装python2.7.5,并用virtualenv虚拟出2.7的环境,搭建微信自动回复机器人
ps:itchat微信接口与2.6版本python不适配