首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python虚拟环境管理工具venv教程

python虚拟环境管理工具venv教程

作者头像
王云峰
发布于 2023-10-21 08:24:19
发布于 2023-10-21 08:24:19
34700
代码可运行
举报
运行总次数:0
代码可运行

0. 概述

Python有各种各样的系统包和第三方开发的包,让我们的开发变得异常容易。不过也引入了一个问题,不同代码需要的包版本可能是不一样的,所以常常回出现这种情况,为了代码B修改了依赖包的版本,代码B能work了,之前使用的代码A就没法正常工作了。因此常常需要对不同的代码设置不同的Python虚拟环境。venv是Python自带的虚拟环境管理工具,使用很方便,这里简单记录一下使用方法。

需要注意的是,venv 工具没法创建不同版本的python环境,也就是如果你用python3.5没法创建python3.6的虚拟环境。如果想要使用不同python版本的虚拟环境,请安装 virtual env包。

1. 安装

python3.6及以上已经默认安装,python3.5需要通过系统的包管理工具安装:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt install python3-venv

2. 创建虚拟环境

~/test_env目录下创建虚拟环境:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python3 -m venv test_env

3. 启用虚拟环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
source ~/test_env/bin/activate

可以看到,命令行的提示符前面会出现括号,里面是虚拟环境名称。

使用pip安装需要的包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install tensorflow

注意这里不需要root权限,因此无需添加sudo

安装的包会放在~/test_env/lib/pythonx.x/site-packages 目录下。

4. 退出虚拟环境

退出虚拟的python环境,在命令行执行下面的命令即可:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
deactivate
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-032,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
Python property属性 - 将方法转化为变量的故事
为什么需要m和n的数字,首先需要知道例如mysql的分页查询的sql:select * from table_name limit m,n
Devops海洋的渔夫
2019/06/02
8390
Python中property的使用技巧
既要保护类的封装特性,又要让开发者可以使用 对象.属性 的方式操作方法,@property 装饰器,可以直接通过方法名来访问方法,不需要在方法名后添加一对 () 小括号。
忆想不到的晖
2021/04/04
1.5K0
四、类与对象(二)
保护对象的属性 如果有一个对象,当需要对其进行修改属性时,有2种方法 对象名.属性名 = 数据 ---->直接修改 对象名.方法名() ---->间接修改 为了更好的保存属性安全,即不能随意修改,一般的处理方式为 将属性定义为私有属性 添加一个可以调用的方法,供调用 1 class People(object): 2 3 def __init__(self, name): 4 self.__name = name 5 6 def getName(self):
酱紫安
2018/04/16
8510
Python3 与 C# 面向对象之~封装
原文:https://www.cnblogs.com/dotnetcrazy/p/9202988.html
逸鹏
2018/06/20
1.7K0
Python 类与继承
self参数用于对当前类中实例的引用,必须作为该类中任何函数的第一个参数,但可以不必命名为 self
回天
2023/04/25
8510
Python 类与继承
Python面向对象基础
当把number属性变成私有属性__number之后,无法直接访问得到,只能通过get_number和set_number两个函数访问__number属性。
职场亮哥
2020/10/10
1.2K0
Python面向对象基础
Python3中的特性-----Property介绍
在python 中 属性 这个 实例方法, 类变量 都是属性. 属性, attribute
我被狗咬了
2019/10/14
8160
Python - 面向对象编程 - @property
可以实现在不破坏类封装原则的前提下,让开发者依旧使用 对例对象.属性 的方式操作类中的属性
小菠萝测试笔记
2021/09/08
3200
Python 使用@property
首先是动态更新功能,类内加了@property装饰器的函数具备动态更新功能,类似于一种回调函数,只要函数内涉及的变量有变化,该函数就会执行回调,动态更新。 也是因为这种特性,所以@property修饰的可以理解为一个变量,动态更新的也是这个变量。 举个例子:
chaibubble
2020/03/19
5150
Python - 描述器
我们可以使用 Python 自带的 property 装饰器 来控制属性的访问,下面这个例子通过 property 控制了 Person 的 age 属性的访问和修改
小歪
2019/05/14
9390
Python 类对象和实例对象访问属性的区别、property属性
下面的一个小demo,定义了一个省份类  Province ,即类对象 Province ,开辟了一块内存空间,空间中存放着 类属性 country 和 __init__()方法 。
用户7886150
2020/12/20
4.4K0
trick(十六)、静态方法、类方法、属性方法
在类中的方法前面通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法
狼啸风云
2020/04/02
2.1K0
Python面向对象的魔术方法
在Python中,所有以__双下划线包起来的方法,都统称为魔术方法。比如最常见的 __init__ 。
职场亮哥
2020/10/10
8270
说说Python中的property
最近在项目中,发现项目越来越大之后,之前的编写方式会留下很多坑,因此最近专门研究了一下静态语言中的方法,比如java中的bean这玩意,发现这种方式引入后,可以很有效的解决这类问题。
点点寒彬
2020/03/18
5770
Python内置函数property()使用实例
class Shuxing(): def __init__(self, size = 10): self.size = size def getSize(self): print('getSize') return self.size def setSize(self, value): print('setSize') self.size = value def delSize(self):
用户1214487
2018/01/24
8110
@classmethod与@staticmethod以及属性函数@property
@classmethod @propery @staticmethod 装饰器
禹都一只猫olei
2018/12/27
9390
全面深入理解 Python 面向对象
注:所有成员中,只有普通字段的内容保存对象中,即:根据此类创建了多少对象,在内存中就有多少个普通字段。而其他的成员,则都是保存在类中,即:无论对象的多少,在内存中只创建一份。
用户8949263
2022/04/08
6620
全面深入理解 Python 面向对象
python--初始面向对象:类的相关知识,对象的相关知识
当然很简单,两个角色,1个人物,1个boss,且人物和boss都有不同的技能,比如人物用觉醒技能秒了boss,掉了xx装备,boss用大招秒了人物,人物死亡,怎么描述这种不同的人物和他们的功能呢
py3study
2018/08/02
4530
Python面试题之Python面向对象编程汇总
面向对象的设计思想是从自然界中来的,因为在自然界中,类(Class)和实例(Instance)的概念是很自然的。Class是一种抽象概念,比如我们定义的Class——Student,是指学生这个概念,而实例(Instance)则是一个个具体的Student,比如,Bart Simpson和Lisa Simpson是两个具体的Student。
Jetpropelledsnake21
2019/02/15
1.9K0
OOP 三大特性:封装中的 property
或许,读者也认为,Python 不能实现真正意义上的对象封装,从上一节内容已经看到,以单下划线开始的命名是“君子约定”,以双下划线开始的命名是“虚晃一枪”。如果来“真”的,Python 能行吗?
老齐
2022/01/04
5250
相关推荐
Python property属性 - 将方法转化为变量的故事
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档