文章目录(Table of Contents)
简介
在开发 Python 应用程序的时候,我们往往只在系统中安装的一个 Python 的一个版本。所有第三方的包都会被 pip
安装到 Python 的 site-packages
目录下。
当我们要同时开发多个应用程序,但是这些程序需要的库的版本不同,例如如果应用 A 需要 jinja 2.7
,而应用 B 需要 jinja 2.6
。这种情况下,我们就需要每一个应用有一套独立的 Python 运行环境。
于是,virtualenv
就是用来创建一套隔离的 Python 的运行环境的。
参考资料
- 廖雪峰的官方网站-virtualenv,这个教程可能时间有点长了,有的已经做了变动了。
- 【Python学习笔记】windows上virtualenv 安装及使用,这个教程会新一些,是在windows上使用 virtualenv来构建 python 虚拟环境的。
- python3 如何在 powershell 执行虚拟环境,说明如何在 power shell 中启动 python 的虚拟环境。
Virtualenv 的使用介绍
virtualenv 的安装
我们使用 pip
来安装 virtualenv
。
- pip install virtualenv
或是我们可以使用 apt
来进行安装(注意,这两种方法选一个即可,否则会出现报错。如果两个都安装了,需要删除一个):
- sudo apt install python3-virtualenv
为项目创建虚拟环境
接着我们为一个项目创建虚拟环境。首先进入某个项目的文件夹,执行 virtualenv env
。这会在当前目录下新建一个 env
的文件夹。之后该项目安装的第三方库都会安装在这个文件夹内。(需要注意,一旦更改了虚拟环境的路径,建议重新安装虚拟环境,否则会出现路径的问题)
除此之外,我们还可以加上参数 --no-site-packages
,这样已经安装到系统 Python 环境中的所有第三方包都不会复制过来,这样,我们就得到了一个不带任何第三方包的“干净”的 Python 运行环境。下面我们创建了一个叫「env」的环境:
- virtualenv --no-site-packages env
如果想要指定 Python 的版本,可以使用 -p
这个参数:
- virtualenv --no-site-packages -p /usr/bin/python3 env
如果出现 virtualenv: command not found
的报错,可以尝试下面的命令:
- python -m virtualenv -p /usr/bin/python3 env
启动虚拟环境
上面我们创建了叫「env」的环境,他会在当前路径下新建一个 env
的文件夹。我们使用 source
命令来进入该环境。执行下面的命令即可:
- source venv/bin/activate
进入之后会发现命令提示符有了变化,前面出现了 env
的前缀。这个表明当前环境是一个名为 env
的 Python 环境。为了进一步检查虚拟环境是否正确,我们使用 which
来检查一下当前 python 和 pip
的路径,当这两个路径都指向虚拟环境即是正确的:
- which python
- which pip
启动虚拟环境-在CMD中 (windows 下)
在Windows中,如果我们在当前项目的目录下,可以通过, .\env\Scripts\activate
来启动虚拟环境。如下图所示,成功启动之后,可以看到前面会有 <env>
。
在power shell上启动虚拟环境 (windows 下)
默认情况我们是无法在 power shell
执行脚本的。我们可以通过下面的方式来解决这个问题:
- 以管理员身份运行
power shell
; - 更改
WINDOWS POWERSHELL
执行策略 :Set-ExecutionPolicy -ExecutionPolicy Unrestricted
; - 此时就可以运行
activate
脚本了;
关闭虚拟环境
我们使用 deactivate
来关闭虚拟环境。可以看到此时前面已经没有 <env> 了。
Anaconda 介绍
Anaconda 安装
我们进入官网,Anaconda Product,进行下载和安装。
在 Anaconda 上创建虚拟环境
可以直接使用 conda
工具来创建虚拟环境。如下所示,创建不同的 Python 版本的虚拟环境。
- # Python 2.7
- $ conda create -n venv python=2.7
- # Python 3.4
- $ conda create -n venv python=3.4
- # Python 3.5
- $ conda create -n venv python=3.5
创建完毕之后是激活环境,如下所示(其中 venv
为虚拟环境的名称):
- # on windows
- activate venv
- # on linux
- conda activate venv
接着是退出虚拟环境(在 Linux 上,也可以使用 conda deactivate
来退出环境):
- # on windows
- deactivate
- # on linux
- conda deactivate
如果我们想要查看所有的虚拟环境,可以使用以下的命令:
- # 列出系统存在虚拟环境
- conda info -e
- conda env list
安装 cuda 和 cudnn
我们可以在 Anaconda
中直接安装 cuda
和 cudnn
。首先在 conda
虚拟环境中安装 CUDA
:
- conda install cudatoolkit
接着是安装 cudnn,不指定版本就会自动与 cuda
版本匹配:
- conda install cudnn
安装完毕之后,我们可以使用 pytorch
进行验证,验证的代码如下所是:
- import torch
- from torch.backends import cudnn
- torch.cuda.is_available()
- cudnn.is_available()
参考资料:
- 微信公众号
- 关注微信公众号
- QQ群
- 我们的QQ群号
评论