目录
虚拟环境
1.1 问题
在同一台电脑上需要用到同一个包的不同版本(tensorflow-gpu==1.5/tensorflow-gpu==1.12和tensorflow==2.5.0),如果直接使用
sudo pip install tensorflow-gpu==1.5
sudo pip install tensorflow-gpu==1.12
sudo pip install tensorflow==2.5.0
指令依次安装,则会把整个依赖关系搞乱;同时在同一个目录下安装或者更新,新版本会覆盖以前的版本。🌰中tensorflow依赖的各种包版本也会更新至2.5.0的适配版本,需要依赖之前版本的项目工程也就无法正常运行了,更有甚者会导致NVIDIA显卡崩掉,因为driver/CUDA/cudnn等与tensorflow/pytorch/caffe等版本不配套。汉王问曰:为之奈何?
1.2 方案
答曰:其一,可置【虚拟环境】。虚拟环境可以搭建独立的python运行环境,在不同的虚拟环境里可时配置不同包的不同版本,从而使得单个项目的运行环境与其它项目互不影响。
virtualenv
一款让你方便而且逼格很高的python工具,它能够帮我们创建一个独立(隔离)的Python环境。下面记录一下如何使用virtualenv来使用虚拟环境。个人还是习惯使用Anaconda。
virtualenv 20.10.0 Virtual Python Environment builderhttps://pypi.org/project/virtualenv/Virtualenv docs-EN
https://virtualenv.pypa.io/en/latest/
2.1 安装
系统:Ubuntu18.04
安装:google或度娘
就终端指令两句话:
sudo pip install virtualenv
sudo pip install virtualenvwrapper
#或者
sudo apt-get install virtualenv
sudo apt-get install virtualenvwrapper
#备注:安装虚拟环境后,如果提示找不到mkvirtualenv命令,须配置环境变量。
2.2 常用命令
virtualenv --version | 查看virtualenv是否安装成功及检查版本 |
lsvirtualenv | 查看系统所有存在的虚拟环境 |
workon xxx | virtualenvwrapper选择虚拟环境 |
cdvirtualenv | virtualenvwrapper进入虚拟环境目录 |
mkvirtualenv xxx | virtualenvwrapper创建虚拟环境 |
TAB键补全 | virtualenvwrapper提供 |
rmvirtualenv xxx | virtualenvwrapper删除虚拟环境 |
使用virtualenv
创建虚拟环境:
# 方式一
virtualenv env_name
# 表示创建一个名为env_name的虚拟环境。
# 每个虚拟环境都包含一个独立的env_name/bin/python和env_name/bin/pip。
# 当运行时env_name作为运行环境。
# 方式二
virtualenv -p python2.7 env2.7 #为python2.7
virtualenv -p python3.6 env3.6 #为python3.6
virtualenv -p /usr/bin/python3.6 env3.6
# 创建指定python版本的虚拟环境
#成功安装了virtualenvwrapper以后
mkvirtualenv env_name
激活虚拟环境:
#linux
source env_name/bin/activate
#windows
env_name\Scripts\activate
退出激活环境:
# 退出当前虚拟环境
# windows
env_name\Scripts\deactivate.bat
#linux
deactivate
删除激活环境:
# linux
rm –r env_name
#windows
#直接删除创建时生成的env_name的目录就好
小结
例如:
1、 virtualenv挺好;
2、搞数据计算的还是偏向于Anaconda;
3、 Anaconda兼顾virtualenv和pip,但后两者更专注极致。