Python3.7 虚拟环境搭建

Nginx 负载均衡配置详解

Posted by leone on 2018-04-21

Python virtualenv

python virtualenv 介绍

python virtualenv 被称为python的三大神器之一(pip、virtualenv、fabric)从字面上理解python virtualenv 为 python 的虚拟环境,的确 virtualenv 是 python 的一个虚拟化环境工具,它可以一台机器上创建不同的虚拟环境,并使他们相互之间隔离不会影响到其他的python 环境,在虚拟环境中你可以安装自己需要的第三方库指定版本这样就不会影响到其他项目的 python 环境,做到“与世隔绝”目的。

安装 python 虚拟环境

在安装python virtualenv之前需要安装python(我这里使用的是python3.7)环境和pip如果没有安装python的需要先安装python。

virtualenv 创建环境时 将会在当前的目录中创建一个文件夹,包含了Python可执行文件,以及 pip 库的一份拷贝,这样就能安装其他包了。虚拟环境的名字(此例中是 venv )可以是任意的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 安装 virtualenv
$ pip3 install virtualenv

# 创建一个目录用户测试虚拟环境
$ mkdir -p ~/projects/virtual_test

# 进入测试目录
$ cd ~/projects/virtual_test

# 创建虚拟环境 venv 为虚拟环境目录名,目录名自定义
$ virtualenv venv 

# 你可以选择使用一个Python解释器,-p参数指定Python解释器程序路径
$ virtualenv -p /usr/bin/python2.7 venv

# 使用虚拟环境前需要激活虚拟环境
$ source venv/bin/activate

# 激活之后你的终端的前缀会发生变化比如:
$ (venv) [root@localhost virtual_test]#

从现在起,任何你使用pip安装的包将会放在 venv 文件夹中,与全局安装的Python隔绝开

# 在python虚拟环境中安装包
$ pip install requests

# 查看虚拟环境中安装的包
$ pip list

# 如果你需要退出虚拟环境可以使用下面命令,停用后将回到系统默认的Python解释器
$ deactivate

Virtaulenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以将所有虚拟环境整合在一个目录下,并管理(新增,删除,复制)虚拟环境,快速切换虚拟环境。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# 安装 Virtaulenvwrapper
$ pip3 install virtualenvwrapper

# 创建一个存放虚拟环境的目录
$ mkdir ~/.virtualenvs

# 配置.bashrc(当用户登录时以及每次打开新的shell时,该文件被读取) 添加到最后
# 注意:virtualenvwrapper.sh 文件的位置可能和我的不同。
# 如果找不到可以使用命令 find / -name virtualenvwrapper.sh 找到该文件

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=~/.virtualenvs
source /usr/local/python3/bin/virtualenvwrapper.sh

# 手动刷新配置
$ source ~/.bashrc

# 创建一个python的虚拟环境
$ mkvirtualenv virtual_test

# 指定特定的python版本创建虚拟环境:
$ mkvirtualenv --python=/usr/bin/python [virtualenvname]

# 创建完成后,可以发现我们已经进入到 virtual_test 环境中了
$ (virtual_test) [root@localhost ~]#

# 列出虚拟环境列表
$ lsvirtualenv

# 切换虚拟环境
$ workon [virtualenvname]

# 退出虚拟环境
$ deactivate

# 删除虚拟环境
$ rmvirtualenv [virtualenvname]

# 复制虚拟环境
$ cpvirtualenv [sorce] [dest] 

# 导出该环境下所有依赖到requirements.txt文件
$ pip freeze > requirements.txt

# 导航到当前激活的虚拟环境的目录中,比如说这样您就能够浏览它的 site-packages。
$ cdvirtualenv

# 和上面的类似,但是是直接进入到 site-packages 目录中。
$ cdsitepackages

# 显示 site-packages 目录中的内容。
$ lssitepackages

virtualenv命令列表