Python 的虚拟环境(Virtual Environment)是一个隔离的独立环境,用于在同一台计算机上同时管理多个 Python 项目时,避免不同项目之间的包依赖冲突。虚拟环境的核心作用是将 Python 项目和它所依赖的第三方库与系统全局的 Python 环境隔离开来。
为什么需要虚拟环境?
- 避免版本冲突:不同项目可能依赖于不同版本的库。虚拟环境可以让每个项目使用自己的依赖版本,而不受其他项目影响。
- 简化依赖管理:在虚拟环境中安装的依赖库不会影响全局环境,也不会影响其他虚拟环境,管理起来更加简单灵活。
- 方便项目部署和迁移:使用虚拟环境可以轻松生成和维护依赖包清单(如
requirements.txt
),从而让项目的迁移和部署更加顺畅。
虚拟环境的工作原理
虚拟环境创建后,它会包含:
- 一个独立的 Python 解释器副本。
- 一个特定目录(通常是
venv
文件夹)来存放这个项目的第三方库。 - 特定环境的包管理器
pip
。
当你激活虚拟环境时,Python 解释器和 pip
都会指向这个独立环境,而不是全局环境中的 Python 和库。
如何使用 Python 虚拟环境
- 创建虚拟环境
使用venv
模块创建虚拟环境:python -m venv myenv
这里的
myenv
是虚拟环境的名称,你可以自定义。 - 激活虚拟环境
- 在 Windows 上:
myenv\Scripts\activate
- 在 macOS 和 Linux 上:
source myenv/bin/activate
激活后,命令行提示符会显示当前的虚拟环境名称,表明你已经进入了这个环境。
- 在 Windows 上:
- 安装依赖库
使用pip
来安装依赖包:pip install requests
- 冻结依赖
你可以将当前虚拟环境中的所有依赖记录到requirements.txt
文件中,方便未来部署或分享:pip freeze > requirements.txt
- 退出虚拟环境
使用deactivate
命令退出虚拟环境:deactivate
- 删除虚拟环境
虚拟环境可以通过简单删除对应的文件夹来移除,例如:rm -rf myenv
常见问题
- 虚拟环境是否会耗费大量磁盘空间? 虚拟环境的空间占用其实并不大,它只会复制必要的 Python 解释器和相关文件,并且每个项目只会安装自己所需的依赖库。
- 不同虚拟环境之间能共享库吗? 默认情况下,每个虚拟环境的库是独立的。如果想要全局安装某些库供多个环境使用,可以利用
--system-site-packages
选项创建虚拟环境。
其他常用虚拟环境工具
- virtualenv:比
venv
更早出现,功能类似,并且可以兼容不同版本的 Python。 - conda:广泛用于数据科学和机器学习,除了 Python 还可以管理其他语言和软件包。
通过虚拟环境,开发者可以在同一台机器上灵活地处理多个项目,而不必担心版本依赖冲突,从而提高开发效率。
关注公众号『窗外天空』
获取更多建站运营运维新知!互联网创业、前沿技术......
最新评论
想要aarch64_generic架构的,用的是Rockchip RK3308 ARMv8 Cortex-A35
水淀粉vdfv
有其他下载方式么,网站上的点击下载后没有任何反应,或者直接发给我一下?[email protected]
你好,我的型号ELECOM WRC-X3200GST3,ARMv8 Processor rev 4构架,CPU mediatek/mt7622,找了很久没有找到
我的也是这样。一直无法确认ARCH架构,或是不支持。一直没办法用。不知道怎么办了