Python 工程化基础1:环境(conda)、pip、requirements.txt

目录

一、创建并激活虚拟环境

[二、在虚拟环境中用 pip 安装包](#二、在虚拟环境中用 pip 安装包)

[三、生成 requirements.txt](#三、生成 requirements.txt)

检验:

[四、用 requirements.txt 重建一模一样的环境](#四、用 requirements.txt 重建一模一样的环境)

[1.执行 pip install -r requirements.txt(文件可以手动移动)](#1.执行 pip install -r requirements.txt(文件可以手动移动))

2.检验:

五、确认"全局环境未被污染"

[1.退出虚拟环境:conda deactivate](#1.退出虚拟环境:conda deactivate)

2.进入到安装过requests的虚拟环境,看requests的版本号:

3.如果全局环境曾经安装过requests检查版本是否一样


一、创建并激活虚拟环境

复制代码
# 创建
conda create -n test_env python=3.10 -y
# 激活
conda activate test_env

二、在虚拟环境中用 pip 安装包

复制代码
pip install requests

conda env list查看虚拟环境的位置

三、生成 requirements.txt

复制代码
pip freeze > requirements.txt

检验

当前目录下生成了 requirements.txt 文件,打开后能看到类似:

手动删除脏行:需要把packaging行删去(包含了 Conda 构建缓存路径/home/conda/feedstock_root/...),这不是正常的 Python 包名。)

四、用 requirements.txt 重建一模一样的环境

退出当前虚拟环境:conda deactivate

创建一个全新的虚拟环境(例如 test_env2)并激活

复制代码
conda create -n test_env python=3.10 -y
conda activate test2_env

1.执行 pip install -r requirements.txt(文件可以手动移动)

一般安装到执行目录下比如我的:C:\Users\yiyip文件夹下,

可以指定比如:

复制代码
# 方法一:
# 3. 切换到 D 盘项目目录
cd D:\kbaby

# 4. 直接用文件名安装(因为在当前目录)
pip install -r requirements.txt

# 方法二:
pip install -r D:\kbaby\requirements.txt

2.检验

安装完成后,执行 pip list,显示的包及版本与之前 pip freeze 输出的内容完全一致(特别是 requests 版本相同)

五、确认"全局环境未被污染"

1.退出虚拟环境:conda deactivate

2.进入到安装过requests的虚拟环境,看requests的版本号:

3.如果全局环境曾经安装过requests检查版本是否一样

不一样这明虚拟环境隔离成功。

相关推荐
测试员周周4 小时前
【Appium 系列】第16节-WebView-H5上下文切换 — 混合应用的自动化难点
运维·开发语言·人工智能·功能测试·appium·自动化·测试用例
测试19984 小时前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
曲幽7 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
杜子不疼.7 小时前
【C++ AI 大模型接入 SDK】 - DeepSeek 模型接入(上)
开发语言·c++·chatgpt
加号37 小时前
【C#】 串口通信技术深度解析及实现
开发语言·c#
小鹏linux7 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
sycmancia8 小时前
Qt——编辑交互功能的实现
开发语言·qt
在角落发呆8 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
石山代码8 小时前
C++ 内存分区 堆区
java·开发语言·c++
前端若水8 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js