Python 自动化运维之Venv 环境与requirements.txt部署实现

3 篇文章 0 订阅
订阅专栏

在这里插入图片描述

一、Python venv 简介

1.为什么要用虚拟环境?

我们在项目开发的时候会依赖较多的依赖库(包package)。但是我们会在同一个开发环境下同时开发多个项目,这样会导致个项目间的库都会安装在开发环境下,随着 Python 项目增多,不同的项目会需要不同版本的 Python 库,并且同一个 Python 库不同版本可能并不兼容。因此,我们在开发的时候可以像虚拟机一样,针对不同的项目构建不同的环境,不同的库,但是这样很繁琐,所以借鉴这个方式,可以通过对不同项目构建不同的虚拟环境来实现隔离的效果,同时这样也可以在我们发布时配合使用pip freeze命令生成库依赖,发挥依赖管理的作用。

2.什么是虚拟环境?

虚拟环境可以为每一个项目安装独立的 Python 库,这样就能隔离不同项目之间的 Python 库,也能够隔离项目与操作系统之间的 Python 库。
**建议:**在开发 Python 项目时、生产环境下都使用虚拟环境来管理项目依赖。

二、Python Venv (python 3.4+内置 venv)

venv - this delegates the creation process towards the venv module, as described in PEP 405. This is only available on Python interpreters having version 3.4 or later, and also has the downside that virtualenv must create a process to invoke that module (unless virtualenv is installed in the system python), which can be an expensive operation (especially true on Windows).

译文:
venv - 如PEP 405 中所述,将创建过程委托给venv模块。 这仅在版本3.4或更高版本的Python解释器上可用,,并且还存在缺点,即virtualenv必须创建一个进程来调用该模块(除非在系统python中安装了virtualenv),这可能是一项昂贵费事的操作(在Windows上尤其如此)

二、创建虚拟环境

对于一个工程而言,建议将 venv 建立在工程目录之下:

1. 创建工程目录

mkdir project

2. 进入工程目录

cd project

3. 创建虚拟环境

python -m venv ./venv

4. 启用虚拟环境

-rw-r--r-- 1 Man-Chen 197121  19K 6月  25 23:21 Activate.ps1  # windows  powershell
-rw-r--r-- 1 Man-Chen 197121 2.3K 6月  25 23:21 activate   # Linux  ;source activate
-rw-r--r-- 1 Man-Chen 197121  982 6月  25 23:21 activate.bat  # windows  cmd
-rw-r--r-- 1 Man-Chen 197121  368 6月  25 23:21 deactivate.bat   # 关闭虚拟环境

C:\software\pythonWorkSpace\project
$ .\venv\Scripts\activate.bat            # 启用venv
(venv) $               					 #成功进入虚拟环境

其他平台详见下表:

附注:不同平台下venv 的激活(启用)方式:

在这里插入图片描述

二、生成库依赖文件

我们通过pip freeze 命令将已安装的包生成requirements文件:
pip freeze > re.txt

requirements文件有什么用呢?

如果你在机器A上部署了一个应用,现在你需要在机器B上部署同样的应用,如逐个包安装就麻烦了。通常是:在A上生成re.txt,将re.txt传到B上,在B上执行

pip install -r re.txt

即可自动安装re.txt中指定的包。很快就都搞定;

参考:

  1. 虚拟环境和包
  2. 一文解读 virtualenv & venv & pipenv 之间的联系与区别
  3. python3 virtualenv
  4. virtualenv.pypa.io
  5. https://docs.python.org/3/library/venv.html
python部署服务器 venv_Python 自动化运维Venv 环境requirements.txt部署实现
weixin_39625872的博客
12-05 443
Python 自动化运维venv 虚拟与requirements.txt部署实现一、Python venv 简介1.为什么要用虚拟环境?2.什么是虚拟环境?二、Python Venv (python 3.4+内置 venv)二、创建虚拟环境1. 创建工程目录2. 进入工程目录3. 创建虚拟环境4. 启用虚拟环境附注:不同平台下venv 的激活(启用)方式:二、生成库依赖文件requiremen...
python自动化环境搭建及插件
03-02
7. `Ansible`: 自动化运维工具,可以用来部署Python应用到远程服务器,确保环境配置的一致性。 总结起来,Python自动化环境搭建涉及版本管理、虚拟环境、依赖管理以及各种提升效率的插件。正确配置这些工具和插件,...
虚拟环境(二)venv
qq_33306427的博客
02-18 374
【代码】虚拟环境(二)venv
【堡垒机】jumpserver安装和基本使用
最新发布
康师傅没有眼泪
07-17 1542
JumpServer 是全球首款完全开源的堡垒机, 使用 GNU GPL v2.0 开源协议, 是符合 4A 的专业运维审计系统。为互联网企业提供了认证,授权,审计,自动化运维等功能。JumpServer 使用 Python / Django 进行开发, 遵循 Web 2.0 规范, 配备了业界领先的 Web Terminal 解决方案, 交互界面美观、用户体验好。JumpServer 采纳分布式架构, 支持多机房跨区域部署, 中心节点提供 API, 各机房部署登录节点, 可横向扩展、无并发访问限制。
python VENV 环境 requirements.txt的生成、使用
weixin_30781775的博客
11-07 1254
python项目 requirements.txt 文件,记录所有依赖包及其精确的版本号。用于新环境部署。 在虚拟环境中pip生成命令(正常环境类似): (venv) $ pip freeze >requirements.txt 安装或升级包后,最好更新这个文件。 requirements文件的内容示例如下: amqp==1.4.9anyjso...
python venv部署
github_38596081的博客
08-09 3072
virtualenv Python2 和 Python3 均支持的方式 安装 pip install virtualenv 创建项目 cd my_project_folder virtualenv my_project 指定 python 版本 virtualenv -p /usr/bin/python2.7 my_project 或者在环境变量配置中加入 export VIR...
python部署服务器 venv_ubuntu16.04服务器部署Python环境方法
weixin_39611937的博客
12-05 70
一行一行执行就行了,你有办法的sudo apt updatesudo apt install gitsudo apt install vimsudo apt install tmuxsudo apt install zshsh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools...
python venv 虚拟环境创建激活和pip包管理和 包版本依赖文件 requirements.txt 使用指南
12-28 1959
在开发python项目的时候我们一般都使用python自带的venv虚拟环境来管理python环境和使用pip来安装和管理python包. 本文介绍macos/windows下的venv虚拟环境创建激活, pipb包的使用和包版本依赖文件 requirements.txt 的生成和使用.
自动化部署脚本
09-11
此外,配置Python项目的设置文件如requirements.txt也可以帮助确保环境一致性。 在实际操作中,这些任务可以通过集成持续集成/持续部署(CI/CD)工具如Jenkins、GitLab CI/CD或Travis CI来自动化。这些工具可以监听...
Python运维管理系统源代码,基于fastapi异步框架
10-28
Python运维管理系统源代码,基于fastapi异步框架】是一个专为IT运维人员设计的高效管理系统,它利用了Python的强大功能以及FastAPI的现代、高性能特性。FastAPI是一个用于构建Web服务的高级框架,以其易用性、高...
Linux环境下的开发项目指南,包括软件安装,环境配置,项目源码,运维调试等方面.docx
07-14
使用 `requirements.txt` 或 `package.json` 等文件来管理项目的依赖。 ```txt # requirements.txt flask requests ``` #### 四、运维调试 运维和调试是确保项目稳定运行的关键步骤。 1. **运行项目** ...
部署jumpserver.txt
01-28
32 yum -y install $(cat /opt/jumpserver/requirements/rpm_requirements.txt) 33 pip install wheel 34 pip install --upgrade pip setuptools 35 pip install -r /opt/jumpserver/requirements/requirements.txt ...
Python (python -m venv)命令创建虚拟环境
热门推荐
xupeng1644的博客
04-21 2万+
1 进入CMD, 使用命令python -m venv创建虚拟环境 C:\Users\xupeng>python -m venv d:\test_venv C:\Users\xupeng> 就会在d:\test_venv下创建虚拟环境。 2 进入Scripts目录,并执行命令activate.bat进行激活 activate.bat其实就位于Scripts目录下: C:\Users\xupeng>cd d:\test_venv C:\Users\xupeng>d: d:\te
深入浅出Python虚拟环境venv的完全手册
walkskyer的博客
01-29 4967
Python的虚拟环境是一种轻量级的、独立的Python安装,可以在系统的不同部分同时存在多个虚拟环境,而互不干扰。venvPython用于创建虚拟环境的标准库之一。自Python 3.3起,venv就已经成为了Python的一部分,因此,对于大多数现代Python安装来说,无需额外安装就可以使用venvvenv的核心功能是在一个目录中创建一个环境,该环境拥有自己的Python解释器、标准库以及各种安装脚本。
python 创建虚拟环境python –m venv方式
weixin_30321709的博客
09-24 1160
1、环境准备 1.1、刷新包清单 sudo yum update 1.2、安装SCL实用程序 sudo yum install centos-release-scl 1.3、安装Python 3.6 sudo yum install rh-python36 1.4、启动Python 3.6 scl enable rh-python36 bash 1.5、安装开发工具 sudo yum g...
python venv虚拟环境配置
麻辣小龙虾
04-03 1185
python -m venv +虚拟环境名称 :python -m venv xuni1python -m venv -h:查看venv工具参数例:创建名为xuni1且继承全局第三方库的命令。
PythonPython3.7.3 - 虚拟环境:pyvenv过时;使用python -m venv命令
一凡stkeke
04-28 9246
文章目录系统参考pyvenv脚本过时说明python -m venv 创建新的虚拟环境 系统参考 [tony@tony-controller bin]$ cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [tony@tony-controller bin]$ uname -a Linux tony-controller 3....
关于Python3中venv虚拟环境
weixin_34223655的博客
08-07 420
Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv。 该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持。每一个虚拟环境都有其自己的Python二进制(允许有不同的Python版本创作环境),并且可以拥有自己独立的一套Python包。他最大的好处是,可以让每一个pytho...
python】【虚拟环境venv文件夹的使用
qq_39057568的博客
05-04 1459
如果一个环境要做很多任务就要安装很多第三方包,第三方包与包之间有时候会出现版本不兼容,从而导致不可用;而且包一多就很难管理一个环境。如果我们将每个任务限定在虚拟环境中操作,只安装这个任务需要的包,那么会大大减少不兼容问题的发生记几率。可以直接通过虚拟环境来配置别人项目的运行环境,从而可以运行别人的代码。这样,就可以在任何地方随时搭建应用环境
python3 -m venv llm/llama.cpp/.venv
05-04
"python3 -m venv" 是 Python3 自带的一个虚拟环境创建工具,可以用于创建 Python3 虚拟环境。"-m" 表示模块名,"venv" 表示要使用的模块。"llm/llama.cpp/.venv" 是你指定的虚拟环境目录名称,可以根据自己的需求...
写文章

热门文章

  • Golang 之区分类型别名与类型定义 45596
  • DNS域名解析服务--Named服务 35947
  • Xshell 6等终端快捷补全 22242
  • Go 切片之删除元素--Delete 14857
  • Docker 部署在线文件转换服务--Libre Office Online 12624

分类专栏

  • 渣心吗 1篇
  • Linux网络管理 5篇
  • Docker 9篇
  • Alpine Linux 4篇
  • 系统内核性能优化 4篇
  • 服务性能分析 4篇
  • MySQL 2篇
  • Go成长之路 8篇
  • Python Auto 3篇
  • 容器存储 1篇
  • 在线文档转换 1篇
  • 进程监控工具 2篇
  • Redis 2篇
  • 分布式链路追踪 2篇
  • Redis 破冰 1篇
  • KVM 虚拟化 3篇
  • Android基础 3篇
  • Linux运维基础 53篇
  • C语言 1篇
  • JSP
  • SQL基础 2篇
  • 服务器服务基础 36篇
  • DHCP服务 1篇
  • DNS 域名解析 2篇
  • 分离解析 1篇
  • 网络存储共享 2篇
  • 网络共享 1篇
  • 邮件服务 1篇
  • 负载均衡 1篇
  • 代理缓存服务 2篇
  • 透明代理 1篇
  • 反向代理 2篇
  • 终端使用 1篇
  • Xshell 1篇
  • SecureCRT 1篇
  • Init 35 1篇
  • 系统运行级别 1篇
  • yum源配置 2篇
  • 小程序 2篇
  • Linux基础命令 13篇
  • Shell 6篇
  • PHP语言 4篇
  • Phpstorm安装与配置 1篇
  • PHP项目运行发布 1篇
  • Linux下部署LAMP 3篇
  • Vsftpd 2篇
  • FTP服务器 2篇
  • setsebool 1篇
  • Golang 7篇
  • HTTP协议 1篇
  • Go实战 6篇
  • 邮件推送 1篇
  • RabbitMQ 3篇
  • limit 1篇
  • Golang 基础 5篇

最新评论

  • Linux应用技巧之重置root密码

    CSDN-Ada助手: 多亏了你这篇博客, 解决了问题: https://ask.csdn.net/questions/7978856, 请多输出高质量博客, 帮助更多的人

  • Docker 部署在线文件转换服务--Libre Office Online

    zyj小胖子= ̄ω ̄=: 换别的解决方案了,用centos镜像创建新容器,然后在容器内安装libreoffice和unoconv,导出来作为基础镜像使用。然后用django做了个文件转换接口,通过执行unoconv命令来进行文件转换。

  • Docker 部署在线文件转换服务--Libre Office Online

    十一步一算: 解决了吗哥

  • date、openssl命令的深入理解

    whitealso: 你好,请问在签发证书时可以指定证书有效期的格式吗?比如指定notbefore时间是generalized time

  • Docker 之基于Alpine构建SSH服务

    城市里的元: 为什么连接32769 端口?

最新文章

  • MySQL 8 0 填坑历险之安装与基本用户权限
  • Docker 资源管理之build cache 清理
  • 生成一个强大的密钥
2023年1篇
2021年2篇
2020年32篇
2019年32篇
2018年15篇
2016年3篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

PHP网站源码爱联外贸网站制作龙岗建站盐田网页设计吉祥网站制作光明企业网站改版惠州网站建设设计大运网站建设东莞网站关键词优化盐田百度竞价光明网页设计东莞网站制作设计木棉湾网站制作设计丹竹头百度标王大鹏营销型网站建设吉祥企业网站设计大运百度关键词包年推广大浪网站定制永湖seo网站推广松岗网站设计坪地企业网站制作坪地网站改版塘坑企业网站改版横岗百度网站优化排名东莞网站搜索优化双龙网站关键词优化同乐网站改版深圳百搜词包西乡百度seo吉祥企业网站改版吉祥网站开发歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化