python3环境运行python2代码_Python实践31-用virtualenv构建Python2和Python3的运行环境
什么是VirtualEnv 在Python开发的世界里,有一个工具堪称“环境管理”的基石,它就是virtualenv。简单来说,virtualenv是一个用于创建独立Python环境的工具。 它究竟要解决什么问题?核心在于依赖和版本冲突,间接也涉及权限管理。不妨设想这样一个场景:你的一个应用需要Li
什么是VirtualEnv
在Python开发的世界里,有一个工具堪称“环境管理”的基石,它就是virtualenv。简单来说,virtualenv是一个用于创建独立Python环境的工具。
它究竟要解决什么问题?核心在于依赖和版本冲突,间接也涉及权限管理。不妨设想这样一个场景:你的一个应用需要LibFoo库的版本1,而另一个应用却要求版本2。如何让它们在同一台机器上和平共处?如果将所有库都一股脑儿安装到系统级的目录,比如/usr/lib/python2.7/site-packages(或你平台对应的标准路径),很容易就会陷入一种窘境:你可能在无意中升级了某个本不该升级的应用依赖,导致旧应用崩溃。
因此,virtualenv的使命,就是为一个应用创建一套“隔离”的Python运行环境,让每个项目都拥有自己专属的“小天地”。
典型应用场景
一个非常典型的场景,就是你的开发机上需要同时运行Python 2和Python 3。这时,virtualenv可以优雅地帮你管理这两个不同版本的Python解释器,切换起来毫不费力。
当然,更多的时候,virtualenv被用来创建基于同一Python版本、但搭配不同版本第三方库的运行环境。这确保了项目间的依赖完全隔离,互不干扰。
安装virtualenv
安装virtualenv非常简单,一条命令即可搞定:
pip install virtualenv
CentOS 7上安装Python3
如果你想在CentOS 7上使用Python 3,可以按以下步骤操作:
首先,安装EPEL仓库:yum install epel-release
接着,安装Python 3.4:yum install python34
安装完成后,可以通过命令python3来检查是否成功。
最后,建议升级一下刚刚安装的virtualenv(因为原版本可能存在一个已知的小问题):pip install --upgrade virtualenv
创建两套Python运行环境
接下来,让我们动手创建两个独立的Python环境,分别基于Python 2和Python 3。
创建Python2的环境
使用以下命令创建一个基于Python 2的环境(假设系统默认Python是2.x版本):
virtualenv env2x
创建完成后,进入该环境目录并激活它:
cd env2x
source ./bin/activate
现在,命令行提示符通常会发生变化,表示你已进入这个隔离的Python 2环境,可以放心使用它了。
当你需要退出该环境时,只需执行:deactivate
创建Python3的环境
创建基于Python 3的环境也很类似,只是需要指定解释器路径:
virtualenv --p python3 env3x
同样地,进入并激活环境:
cd env3x
source ./bin/activate
此时,你便处于一个纯净的Python 3环境中。
工作完成后,别忘了用deactivate命令退出。
原理
你可能会好奇,virtualenv是如何实现这种“独立”环境的呢?原理其实很直观。
它本质上是在你的项目目录下,复制了一份精简的Python解释器以及pip等工具。当你执行source venv/bin/activate命令激活某个virtualenv环境时,virtualenv会巧妙地修改关键的环境变量(例如PATH)。这样一来,你在命令行中输入的python和pip命令,都会自动指向当前virtualenv环境下的副本,而非系统全局的Python。所有的包安装和依赖管理,都被严格限制在了这个“沙箱”之内,从而实现了完美的隔离。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。













