Virturalenv 虚拟环境搭建
在
Python的开发中,我们可能会遇到这这样一种情况,当前的项目依赖是某一个python3的版本,而另一个项目却是依赖一个python2的版本(同一种情况也可能发生在Diango中),这种情况下,在本地同时开发和维护两个版本就会造成版本冲突,virturalenv就可以解决以上问题。
VirtualEnv 可以搭建虚拟且独立的 python 运行环境, 使得单个项目的运行环境与其它项目独立起来。同时也可以用于在一台机器上创建多个独立的 python 运行环境, VirtualEnvWrapper 为前者提供了一些便利的命令行上的封装。
安装
1 | pip3 install virtualenv |
查看安装版本来确认安装:
1 | virtualenv --version |
使用豆瓣源
有时使用官方源安装第三方库会出现下载过慢或者超时的情况,这时候可以尝试使用国内的源进行安装。
- 临时使用
1 | pip3 install pythonModuleName -i https://pypi.douban.com/simple |
- 永久使用
需要找到 python 的安装路径,然后找到 Lib/site-packages\pip\commands 下的 search.py 文件,发现里面有如下两行代码:
1 | from pip.models import PyPI |
可以看出来 PyPI.pypi_url 是从 moudels 模块里导入的,所以要找到 moudels 模板,该模块位于上一级目录,打开 moudels 里面的 index.py 文件:
1 | PyPI = Index('https://pypi.python.org/') |
修改 https://pypi.python.org/ 为 https://pypi.douban.com/simple
新建 virtualenv 环境
新建虚拟环境
1 | virtualenv env-test |
这样,我们就创建了一个名为 env-test 的虚拟环境。
当然,也可以指定安装依赖的 python 版本,使用参数 -p 进行指定:
1 | virtualenv -p python3 py-test |
激活
进入虚拟环境,进入 bin 目录,使用 source activate 激活虚拟环境,当然也可以一步到位:
1 | source env-test/bin/activate |
这样,就激活了当前的虚拟环境,做到了与其他 Python 项目的环境进行隔离,可以自行安装需要的依赖进行开发了。
Windows 用户进入 Script 目录,运行 activite.bat 进行激活。
退出虚拟环境
只需运行
1 | deactivate |
同样, Windows 用户需要执行脚本退出,运行 deactivate.bat 退出环境。
安装 virtualenvwrapper
Virtaulenvwrapper是virtualenv的扩展包管理工具,可以更方便地新增,删除,复制,切换虚拟环境。
安装
1 | pip3 install virtualenvwrapper |
安装完成后,需要对 virtualenvwrapper 进行配置:
1 | export WORKON_HOME=~/Envs // 虚拟环境存储路径 |
由于每次都需要执行这两部操作,我们可以将其写入终端的配置文件中。例如,如果使用
bash,则添加到~/.bashrc中;如果使用zsh,则添加到~/.zshrc中。这样每次启动终端的时候都会自动运行,执行之后virtualenvwrapper就可以用啦。
写入配置之后执行生效,
1 | source ~/.zshrc |
这里要看自己本机的配置情况,我使用的是 zsh,所以执行 source ~/.zshrc。
使用
现在,可以使用 virtualenvwrapper 新建一个虚拟环境:
1 | mkvirtualenv env-pytest |
激活环境
1 | workon env-pytest |
workon 不带参数可以列出本机所有的虚拟环境:
1 | workon |
所有的命令可使用:virtualenvwrapper --help 进行查看,这里列出几个常用的:
创建基本环境:
mkvirtualenv [环境名]删除环境:
rmvirtualenv [环境名]激活/切换环境:
workon [环境名]退出环境:
deactivate列出所有环境:
workon或者lsvirtualenv -b查询子虚拟环境列表:
lsvirtualenv -b查看当前环境已经安装的
Python安装包:lssitepackages