美文网首页
Python虚拟环境

Python虚拟环境

作者: DoublleTree | 来源:发表于2018-02-13 22:16 被阅读0次

安装tensorflow的时候接触到python虚拟环境,不是很明白,加上一直想实现python2和3的共存,因此决定学习一下python虚拟环境。


所谓虚拟环境,是创建了一个隔离的区域,拥有独立的包和解释器(一般都是位于xxx/envs/下的一个文件夹)。这样有如下好处:

  1. 解决不同项目对不同包的依赖问题。(这个问题一方面也是来源于python的设置,包不能放在项目内部)
  2. 解决不同python版本的共存问题以及提供不同的服务。
  3. 便于打包部署。

virtualenv

virtualenv 是目前最流行的 python 虚拟环境配置工具。它不仅同时支持 python2 和 python3,而且可以为每个虚拟环境指定 python 解释器,并选择不继承基础版本的包。[1]

其语法如下:[2]

  1. 创建虚拟环境
$ virtualenv venv # venv为虚拟环境目录名

### 指定python解释器
$ virtualenv -p /usr/bin/python2.7 venv
  1. 激活&停用环境
$ source venv/bin/activate

$ . venv/bin/deactivate
  1. 删除虚拟环境
### 删除其文件夹即可
$ rm -rf venv

这里virtualenv 有些不便,因为virtual的启动、停止脚本都在特定文件夹,可能一段时间后,你可能会有很多个虚拟环境散落在系统各处,你可能忘记它们的名字或者位置。所以可以利用其改进版virtualenvwrapper来整合所有虚拟环境。其实还可以使用pyenv来管理各种python环境,可以看[3]

virtualenvwrapper

安装完virtualenvwrapper以后需要配置,以Ubuntu为例,在~/.bashrc中加入以下内容:

export WORKON_HOME=~/Envs # virtualenvwrapper存放虚拟环境目录
source /usr/local/bin/virtualenvwrapper.sh # virtrualenvwrapper会安装到python的bin目录下,所以该路径是python安装目录下bin/virtualenvwrapper.sh

其用法如下:

  1. 创建虚拟环境
$ mkvirtualenv venv
或
$ mkvirtualenv --python=/usr/bin/python2.7 venv
  1. 查看所有虚拟环境
$ workon
py2
py3
  1. 切换(激活)&退出虚拟环境
$ workon py3
(py3) $

(py3) $ deactivate
  1. 删除虚拟环境
$ rmvirtualenv venv

Anaconda

目前自己常用Anaconda,其通过conda也实现了虚拟环境的管理。用法如下[4]:

  1. 创建虚拟环境
$ conda create -n your_env_name python=X.X
  1. 查看所有虚拟环境
$ conda env list
或者
$ conda info -e
  1. 激活&退出虚拟环境
### Liuxs
$ source activate your_env_name

### windos
$ activate your_env_name

# 激活以后可以使用python --version 查看当前环境的python版本

# 退出使用相应的deactivate即可
  1. 删除虚拟环境
$ conda remove -n your_env_name --all
  1. 其他常用命令
### 为虚拟环境安装额外的包
$ conda install -n your_env_name [package]

### 删除环境中的某个包
$ conda remove --name your_env_name  [package]

### 查看安装了哪些包
$ conda list

### 检查更新当前conda
$ conda update conda

Reference:

  1. https://blog.zengrong.net/post/2167.html
  2. https://www.cnblogs.com/technologylife/p/6635631.html
  3. https://www.jianshu.com/p/4e93fbe79692
  4. http://blog.csdn.net/lyy14011305/article/details/59500819

相关文章

网友评论

      本文标题:Python虚拟环境

      本文链接:https://www.haomeiwen.com/subject/rkhstftx.html