1. 为什么会需要虚拟环境?
python的一个显著特点,也是它的优势,就是集成了各种各样的第三方库(除了前面介绍的各种内置库),这些库的使用极大的扩展了python的功能和应用场景。一般第三方库有固定的团队来维护和更新。
对于依赖这些第三方库的应用,它们在开发的时候往往依赖某一特定版本的第三方库,随着第三方库的更新,这些应用可能与新版本的第三方库不兼容,而另外一些应用需要依赖最新的第三方库,这就造成了不同的应用可能不能在同一个Python环境下运行。
为了解决上述问题,虚拟环境就应运而生。所谓虚拟环境,这是在当前的python环境下创建一个新的环境,在这个环境中可以安装特定的库,依赖这些特定库的应用就在这个虚拟环境中运行,依赖其他库的应用在别的环境去运行。
2. 创建虚拟环境
python 有内置的模块venv,可以用来创建虚拟环境,第一节里说到过怎么用命令行执行python脚本,window系统下,dos命令窗口中,操作如下:
这样就在当前目录下,创建了一个新的目录 new_env, 虚拟环境需要的东西在这个目录下,包括python的解释器,标准库,还有各种各样的支持文件。
创建好这样一个虚拟环境后,要想使用这个虚拟环境,就需要激活它,window下,激活虚拟环境的操作如下:
按下回车键之后,就进入这个虚拟的python环境,此时dos窗口用户名的开头会显示(虚拟环境的名字,此例中为new_env)如下:
如果想退出当前的这个虚拟环境,只需键入deactivate 或 deactivate() 即可(亲测,两种方法都可退出虚拟环境),如下:
在unix下或macos下,使用 source new_env/bin/activate 来激活虚拟环境,同样也可以用deactivate 来退出当前的虚拟环境。
3. 使用pip管理环境下的包
在Python中,可以使用pip 这个命令安装,升级,移除各种包。默认情况下,pip 安装 Python Package Index, <https://pypi.org>中的包,用户可以进入网站来查询有没有自需要的包,或者使用比较弱鸡的 pip search 关键字,来查询有没有包含某一关键字的包。
pip 常用命令(以requests 包的安装为例)
安装最新版本的包: pip install requests
安装特定版本的包: pip install requests == 2.6.0
升级包: pip install --upgrade requests
查看已经安装的包: pip show requests
显示所有已经安装的包:pip list
导出已经安装的包: pip freeze > requirements.txt
安装导出的各种包: pip install -r requirements.txt
卸载已安装的包: pip uninstall requests
本篇简单且容易理解,关于pip还有更多的功能和用法,详情参见:https://docs.python.org/3/tutorial/venv.html
网友评论