当我们在同一个机器上进行开发多个项目,每个项目于用到包的不同版本的时候,就很尴尬。
安装python包的命令是:
sudo pip install 包名
这样的话,会将包安装到/usr/local/lib/python2.7/disk-packages下。所有的包都会安装到这里。
当我们安装相同包的不同版本就会发生覆盖。非常尴尬。
怎样解决呢??安装python的虚拟环境!
安装python虚拟环境步骤如下:
1 升级一下python包管理工具pip
sudo pip install --upgrade pip
想升级包的时候 都可以用 sudo pip install --upgrade 包名
2 python虚拟环境工具安装
sudo pip install virtualenv 或者 sudo apt-get install virtualenv
sudo pip install virtualenvwrapper 或者 sudo easy_install virtualenvwrapper
3 创建自己的虚拟环境
正常安装完两个工具,我们可以使用一下命令操作我们的虚拟环境:
创建虚拟环境: mkvirtualenv 环境名称
创建python2的虚拟环境:
mkvirtualenv -p /usr/bin/python2.7 虚拟环境名称
创建python3的虚拟环境: 原理同上
mkvirtualenv -p /usr/bin/python3.5 虚拟环境名称
使用虚拟环境: workon 环境名称
退出虚拟环境: deactivate
删除虚拟环境: rmvirtualenv 环境名称
但是 发现 提示我们 没有mkvirtualenv命令,这个时候需要我们设置一下环境变量:
3.1 创建要给目录用来存放我们的虚拟环境,需要选择自己的家目录下创建,存放虚拟环境的目录是一个隐藏目录 名为: .virtualenvs 意思是 virtual environments 虚拟环境
mkdir $HOME/.virtualenvs
注意,创建之后不要进入这个目录,否则接下来绑定命令会出错
3.2 打开~/.bashrc文件,添加如下两行:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
保存后终端执行:
source ~/.bashrc
执行完这两个步骤之后,系统就能识别mkvirtualenv命令啦~~~下面就可以创建自己的虚拟环境啦~
正常安装完两个工具,我们可以使用一下命令操作我们的虚拟环境:
创建虚拟环境: mkvirtualenv 环境名称
如果装了python3的环境,默认会安装一个python3的虚拟环境。
因为很多包还没有更新到python3,创建一个符合自己版本的虚拟环境如下:
需要先找到自己python的安装路径和版本,我以我自己的为例:
创建python2的虚拟环境:
mkvirtualenv -p /usr/bin/python2.7 虚拟环境名称
创建python3的虚拟环境: 原理同上
mkvirtualenv -p /usr/bin/python3.5 虚拟环境名称
注意:虽然选择了创建python版本的安装路径,但创建出来的虚拟环境目录仍然在我们自己创建的.virtualenvs 里
使用虚拟环境: workon 环境名称
退出虚拟环境: deactivate
删除虚拟环境: rmvirtualenv 环境名称
查看所有的虚拟环境: workon 两次tab
创建虚拟环境之后默认就进入这个虚拟环境了~注意命令提示符已经发生改变。
4 在自己的虚拟环境中安装和导入工具包,安装在自己的虚拟环境,与真实环境是不影响的。
注意 不要使用sudo命令 这里是虚拟环境
安装包: pip install 包名称 例如: pip install pymysql
查看当前虚拟环境种的包: pip list
升级包: pip install --update 包名
卸载包: pip uninstall 包名
通过以上方法,我们就可以创建自己的虚拟环境,在不同的项目中使用不同的环境用不同版本的包来开发啦!