【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虚拟环境中支持的模块不同

相关推荐
Sirius.z6 小时前
第R6周:LSTM实现糖尿病探索与预测
python
名字还没想好☜6 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
ltl7 小时前
内核追踪:ftrace、kprobe、uprobe、tracepoint 生产实战
linux
·薯条大王7 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
Dxy12393102168 小时前
Python 如何使用 MySQL 的事务
python·mysql
小小、码农10 小时前
Linux进程控制:从fork到exec,手写一个简易Shell
linux·运维·服务器
不会就选b10 小时前
Linux之进程间通信(二)---模拟进程池
linux·运维·服务器
今儿敲了吗12 小时前
Python ——第三方包
笔记·python
麒麟水手12 小时前
国产银河麒麟系统开发实录:跑通Streamlit,我踩过的6个坑
python
麒麟水手12 小时前
麒麟系统部署检查清单:上线前30分钟,逐项自查这4类问题
python