python虚拟环境

1.虚拟环境概念:

  • 虚拟环境是指一个主机上虚拟的相对独立的运行环境,使得单个项目的运行环境与其它项目互不影响.

2. python为什么要用虚拟环境:

在python中,要使用某个工具包时,通过

sudo pip install 工具

进行安装,这种安装方式会将工具包安装到/usr/local/lib/python2.7/dist-packages路径下,而且会覆盖以前的版本。由于不同项目使用的工具的版本往往不一样,当所有项目共享这些工具时,就会导致有的项目无法运行。因此需要使用虚拟环境,为每个项目生成一个独立的虚拟环境后,不同项目可以使用自己的工具包而不会与其他项目产生冲突

3. 搭建虚拟环境

1. 安装虚拟环境:

sudo pip install virtualenv
sudo pip install virtualenvwrapper

说明: 上面的第一条命令安装可能失败,原因可能是:国内外网速的差异导致下载超时使用代理,解决方法:可以用豆瓣的代理:

pip install --index-url https://pypi.douban.com/simple virtualenv

 

2. 配置环境变量

2.1 创建目录存放虚拟环境

mkdir $HOME/.virtualenvs

说明:$HOME,为linux中家目录,表示 /home/用户名 所在目录

2.2 打开~/.bashrc文件,并添加如下两行配置:

export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

2.3 运行.bashrc让上面的配置生效

source ~/.bashrc

说明:执行上面的命令可能报错:

virtualenvwrapper.sh: There was a problem running the initialization hooks.
3 
4 If Python could not import the module virtualenvwrapper.hook_loader,
5 check that virtualenvwrapper has been installed for
6 VIRTUALENVWRAPPER_PYTHON= and that PATH is

原因:VIRTUALENVWRAPPER_PYTHON是用来(Locate the global Python where virtualenvwrapper is installed.)定位哪个python下面安装了virtualenvwrapper的。原本指定的位置是python,也就是2.7版本的。如果是安装的python3,此处要改成python3。然后这个错误就消失了。方法:打开/usr/local/bin/virtualenvwrapper.sh文件,修改:

1 # Locate the global Python where virtualenvwrapper is installed.
2 if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
3 then
4     VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"    # 原本是写的\which python,这里贴出来的是我修改为python3后的。
5 fi

3. 创建虚拟环境

 

1. 在python2中,创建虚拟环境

mkvirtualenv 虚拟环境名称
例 :
mkvirtualenv py_django

 

 

2. 在python3中,创建虚拟环境

mkvirtualenv -p python3 虚拟环境名称
例 :
mkvirtualenv -p python3 py3_django

说明:

  • 创建虚拟环境需要联网
  • 创建成功后, 会自动工作在这个虚拟环境上
  • 工作在虚拟环境上, 提示符最前面会出现 “虚拟环境名称”

4. 虚拟环境相关的命令

1. 查看已有的虚拟环境:

workon

2. 进入指定虚拟环境

workon 虚拟环境名称

例 :使用py3_django的虚拟环境
workon py3_django

3. 退出虚拟环境

deactivate

4. 删除虚拟环境:

rmvirtualenv 虚拟环境名称

例 :删除虚拟环境py3_django

5. 在虚拟环境中安装包

工具包安装的位置 :

  • python2版本下:
    • ~/.virtualenvs/py_flask/lib/python2.7/site-packages/
  • python3版本下:
    • ~/.virtualenvs/py3_flask/lib/python3.5/site-packages

5.1 进入虚拟环境

5.2 安装包:

pip install 包名称

例 : 安装django-1.11.11的包
pip install django==1.11.11

说明:安装时可能报错,需要使用豆瓣代理:

pip install -i https://pypi.douban.com/simple django==1.11.11

 

6. 查看虚拟环境中安装的包:

pip list

说明:安装包命令和非虚拟环境下一样,需要注意,不要加sudo

 7. 查看虚拟环境所在目录:

进入虚拟环境后执行:

which python

显示如下:

/home/liuxuelin/.virtualenvs/py3_django/bin/python

说明:实际上显示的是python所在目录,但前面一段为虚拟环境目录:/home/liuxuelin/.virtualenvs/py3_django/

 

posted @ 2021-01-11 00:11  foreast  阅读(182)  评论(0编辑  收藏  举报