Linux 下 Python 虚拟环境搭建指南:virtualenv 与 virtualenvwrapper 配置详解
本文详细介绍在 Linux 环境下使用 virtualenv 和 virtualenvwrapper 搭建 Python 虚拟环境的完整流程。涵盖从安装 python3、pip 及虚拟环境工具,到配置软链接、编辑 .bashrc 文件,再到创建、切换及管理虚拟环境的实际操作。重点解析了虚拟环境的原理、sudo 权限使用的风险以及常见命令的使用规范,帮助开发者解决依赖冲突问题。
Linux 下 Python 虚拟环境搭建指南:virtualenv 与 virtualenvwrapper 配置详解
在 Linux 系统中,利用 virtualenv 和 virtualenvwrapper 工具来构建 Python 虚拟环境是标准做法。
为何需要搭建虚拟环境
一、为何需要搭建虚拟环境
当同一台机器上的不同项目依赖于相同 Python 包的不同版本时,直接安装会导致依赖冲突,进而引发项目运行失败。此时,隔离的虚拟环境可以有效解决这一问题。
虚拟环境的定义
二、虚拟环境的定义
虚拟环境本质上是 Python 运行环境的一个独立副本。需要注意的是,在创建虚拟环境的过程中,系统需要保持网络连接以获取必要的资源。
三、前置依赖:安装 Python、pip 及 virtualenv
前置依赖:安装 Python、pip 及 virtualenv
ubuntu:
sudo apt-get install python3 # 安装python3
sudo apt-get install python-pip # 安装pip
sudo pip install virtualenv #安装虚拟环境
sudo pip install virtualenvwrapper #安装虚拟环境扩展包
centos:
sudo yum -y install python36 # 安装python3
sudo yum -y install python36-pip # 安装pip
yum install python-virtualenv #安装虚拟环境
yum install python-virtualenvwrapper #安装虚拟环境扩展包
首先检查系统中 Python 和 pip 的安装状态。
python3.6 -V
pip3.6 -V
随后,通过创建软链接来统一命令调用。
# 使用python3去使用Python3.6:
ln -s /usr/bin/python3.6 /usr/bin/python3
# 复制代码pip3.6同理:
ln -s /usr/bin/pip3.6 /usr/bin/pip3
四、配置虚拟环境管理脚本
配置虚拟环境管理脚本
# 在主目录(家目录)编辑文件
vim .bashrc
# 在末尾加入虚拟环境地址 (虚拟文件都存储在.virtualenvs )
export WORKON_HOME=$HOME/.virtualenvs
# 加入可直接使用在虚拟环境中的命令
source /usr/bin/virtualenvwrapper.sh
# 运行文件并生效
source .bashrc
五、创建具体的虚拟环境实例
创建具体的虚拟环境实例
# 创建python3虚拟环境并命名
mkvirtualenv -p python3 milepost
# 退出虚拟环境
deactivate
# 进入虚拟环境中工作
workon web_working
# 列出所有虚拟环境
lsvirtualenv -b
# cpvirtualenv 复制环境
cpvirtualenv env1 env3 (复制env1到env3)
# 列出当前环境中site-packages内容 (在环境中执行)
lssitepackages
# 清除环境内所有第三方包
cdsitepackages
# 删除虚拟环境项目
rmvirtualenv + 虚拟环境名
关键注意事项
关键注意事项:
第一,虚拟环境中的 Python 解释器是原环境的复制品,所安装的 Python 包也仅存在于该虚拟环境中。除了这两点差异外,虚拟环境与真实环境无异,其他文件操作在两者中均可进行。
第二,在虚拟环境中安装包时,严禁使用 sudo 权限执行 pip install 命令。使用 sudo 会将包安装到系统级的真实环境中,从而破坏虚拟环境的隔离性,因此必须去掉 sudo 直接执行。
总结
总结
以上内容涵盖了在 Linux 环境下安装 Python 虚拟环境的核心步骤及关键注意事项,旨在为读者提供实用的参考。如有任何疑问,欢迎留言交流,我们将及时回复。感谢对本站的支持!若本文对您有所帮助,欢迎转载,请注明出处,谢谢。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









