python env虚拟环境详解

884 篇文章 2 订阅
822 篇文章 0 订阅

2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客文章浏览阅读3.4k次,点赞86次,收藏15次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、app自动化测试、接口测试、性能测试、自动化测试、安全测试及一些常问到的人力资源题目。最主要的是他还收集了像阿里、华为这样的大厂面试真题,还有互动交流板块……_软件测试刷题小程序​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502​编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502icon-default.png?t=N7T8https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502

在Python开发中,“env”这个术语通常指的是虚拟环境。虚拟环境是一个自包含的目录,它包含了Python解释器的一个独立副本以及你安装的所有库和框架。使用虚拟环境的目的主要是为了隔离项目依赖,使得每个项目可以拥有独立的、不影响全局系统的Python环境。这样,不同的项目可以使用不同版本的库,而不会产生冲突。

创建和管理虚拟环境的方式:

venv:这是Python 3.3及以上版本自带的标准库,用于创建轻量级的虚拟环境。

创建虚拟环境的步骤如下:

python3 -m venv myenv  # myenv 是虚拟环境的名称

激活虚拟环境(不同操作系统命令不同):

在Unix/Linux/macOS上:

source myenv/bin/activate

在Windows上:

myenv\Scripts\activate.bat

pipenv:这是一个更高级的工具,它不仅管理虚拟环境,还通过 Pipfile 和 Lockfile 文件自动管理项目的依赖。Pipenv 提供了更良好的依赖关系管理和锁定机制,确保团队成员之间环境的一致性。

使用pipenv的步骤大致为:

pip install pipenv  # 首次使用前需要安装pipenv
pipenv --python 3.8 myenv  # 创建并指定Python版本的虚拟环境
pipenv shell  # 自动激活虚拟环境

除了创建和激活虚拟环境,了解如何在虚拟环境中安装、更新和卸载包也是至关重要的。下面我将分别介绍在venv和pipenv中如何进行这些操作。

在 venv 虚拟环境中:

安装包:激活虚拟环境后,你可以使用pip命令来安装Python包。例如,要安装requests库,只需运行:

pip install requests

更新包:要更新已安装的包至最新版本,可以使用:

pip install --upgrade requests

卸载包:如果要从虚拟环境中移除某个包,可以执行:

pip uninstall requests

在 pipenv 环境中:

安装包:Pipenv 会根据你提供的包名,解析依赖并记录到Pipfile中,同时安装所有依赖到虚拟环境中。例如,安装requests:

pipenv install requests

更新包:更新包时,Pipenv 会检查是否有新版本,并相应地更新Pipfile.lock来锁定版本。更新单个包的命令是:

pipenv update requests

若要更新所有包至最新版本(不常用,可能破坏依赖关系):

pipenv update --all

卸载包:从项目中移除包并从Pipfile中删除记录,使用:

pipenv uninstall requests

查看已安装包

无论是在venv还是pipenv环境中,你都可以使用以下命令查看已安装的包及其版本:​​​​​​​

venv:
pip list
pipenv:
pipenv lock -r
或者,在激活的pipenv环境中简单使用:
pip list

虚拟环境最佳实践

为每个项目创建独立的虚拟环境:这样可以确保项目的依赖相互隔离,避免不同项目间因依赖冲突而导致的问题。

定期更新虚拟环境:保持虚拟环境中的包是最新的,有助于避免潜在的安全风险和兼容性问题。但请注意,更新前应确保更新不会破坏现有代码的稳定性。

使用 .gitignore 忽略虚拟环境文件:在版本控制系统中,不要提交虚拟环境文件(如.venv目录或 Pipfile.lock以外的pipenv生成的.venv)。这些是本地环境特有的,应在团队间共享的是requirements.txt或Pipfile。

利用环境变量管理配置:对于数据库连接字符串、API密钥等敏感信息,不建议直接写入代码。可以考虑使用环境变量或配置文件,并利用如python-decouple库来管理。

进阶技巧

跨平台兼容性:如果你的项目需要在不同操作系统上运行,确保使用的库和配置对所有目标平台都兼容。使用如pyproject.toml(PEP 621提案)作为跨工具的项目元数据文件,可以提高兼容性和未来一致性。

环境变量注入:在虚拟环境中,可以使用如dotenv库加载.env文件,便于管理环境变量,特别是在开发和测试环境中。

性能优化:对于大型项目,可以考虑使用pip的--no-cache-dir选项禁用缓存,或者定期清理pip缓存来避免空间占用过多。此外,合理使用pip的--no-deps和--only-binary=:all:选项,可以在安装时减少编译时间。

调试和日志:当虚拟环境中的包安装或运行出现问题时,使用pip的-v或--verbose选项增加输出详细程度,可以帮助诊断问题。对于更复杂的环境问题,可以考虑使用pip-tools等工具来更精细地管理requirements.txt。

容器化:如果项目需要部署到云环境或需要高度一致的环境复现性,考虑使用Docker容器化你的应用及其环境。Dockerfile可以指定使用特定版本的Python镜像,并在构建阶段安装依赖,确保环境的一致性和便携性。

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

  • 24
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值