【Linux系统】ubuntu - python 虚拟环境搭建|使用|与系统环境的区别

python 虚拟环境

主要作用

  1. 项目隔离

不同等项目需要不同的版本: 如项目A 需Xxx 2.1 , 项目B 需要Xxx3.1

  • 整个虚拟环境只能安装一个版本,但是虚拟环境可以各安装各的
  1. 依赖管理

个版本切换使用时互不干扰

  1. 环境的一致性(与docker类似)

确保开发环境、测试环境与生产环境都使用相同版本的包

  1. 权限管理

不需要sudo 权限就可以安装包

  1. 快速清理

删除虚拟环境目录即可以完全清理干净

python虚拟环境创建

bash 复制代码
# 创建项目目录
mkdir xx-project
cd xx-project

# 创建虚拟环境
python3 -m venv venv

# 激活虚拟环境
source venv/bin/activate # 在xx-project项目路径下

虚拟环境与项目代码的关系

  • 在各自项目下创建虚拟目录,创建虚拟环境

虚拟python环境的使用

  • 可以使用完整路径执行
bash 复制代码
# 不一定!你可以:
# 1. 使用完整路径执行
./venv/bin/python script.py

# 2. 在脚本开头指定解释器
#!/path/to/venv/bin/python

# 3. IDE通常会自动处理虚拟环境

如:在项目路径下使用虚拟环境python3的绝对路径运行

多虚拟环境的管理

bash 复制代码
# 使用工具管理多个环境(推荐)
pip install virtualenvwrapper

# 配置
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

# 使用
mkvirtualenv env1      # 创建
workon env1            # 切换
deactivate             # 退出
rmvirtualenv env1      # 删除

python虚拟环境与系统环境的对比

python3 的可执行文件路径不同

支持的Python模块也不同

不同python虚拟环境中支持的模块不同

相关推荐
米高梅狮子2 小时前
03.网络类服务实践
linux·运维·服务器·网络·kubernetes·centos·openstack
June`2 小时前
网络编程时内核究竟做了什么???
linux·服务器·网络
2301_803934612 小时前
Go语言如何做网络爬虫_Go语言爬虫开发教程【指南】
jvm·数据库·python
WL_Aurora2 小时前
Python爬虫实战(六):新发地蔬菜价格数据采集.
爬虫·python
盲敲代码的阿豪2 小时前
Python 入门基础教程(爬虫前置版)
开发语言·爬虫·python
楼兰公子3 小时前
RK3588 + Linux7.0.3 网络工程调试错误速查手册
linux·网络·3588
Elnaij3 小时前
Linux系统与系统编程(9)——自设计shell与基础IO
linux·服务器
weixin199701080163 小时前
[特殊字符] 智能数据采集:数字化转型的“数据石油勘探队”(附Python实战源码)
开发语言·python
IMPYLH3 小时前
Linux 的 unexpand 命令
linux·运维·服务器·bash
次元工程师!4 小时前
LangFlow开发(三)—Bundles组件架构设计(3W+字详细讲解)
java·前端·python·低代码·langflow