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

相关推荐
web守墓人4 分钟前
【go语言】gotar:使用go语言复刻tar命令,并加入7z支持,可独立运行在windows、linux、macos上
linux·macos·golang
就牙白8 分钟前
中科方德服务器打包RPM
linux·python
REDcker22 分钟前
基于 eBPF 的网络可观测:协议栈路径与 sk_buff
linux·服务器·网络·php·ebpf·bpf
看-是灰机24 分钟前
使用go语言实现对接
linux·开发语言·后端·docker·语言模型·golang·飞书
草莓熊Lotso25 分钟前
【Linux网络】深入理解Linux IO多路复用:从本质到select服务器实战
linux·运维·服务器·c语言·网络·数据库·c++
fen_fen31 分钟前
麒麟 Linux aarch64安装.NET 6,并适配.net应用(达梦数据库)
linux·服务器·.net
fen_fen43 分钟前
Filebeat 采集 应用日志部署 & Kibana 查询操作文档
linux·运维·服务器
xing-xing44 分钟前
魔搭社区(ModelScope)下载模型文件
python·jupyter·llm
承渊政道1 小时前
【Python学习】(了解使用库、标准库、第三方库以及综合案例实操)
python·学习·pycharm·标准库·第三方库·使用库·综合案例
苏宸啊1 小时前
linux线程池
linux