使用python虚拟环境,为什么要激活虚拟环境

news/2025/2/1 23:51:25/

文章目录

  • 使用python虚拟环境,为什么要激活虚拟环境
    • 前置基础
      • python 模块和包的概念
        • Python 模块 (Module)
        • Python中的包
      • python依赖引入机制(搜索路径)、PYTHONPATH 变量
    • 使用python虚拟环境,为什么要激活虚拟环境

使用python虚拟环境,为什么要激活虚拟环境

前置基础

python 模块和包的概念

Python 模块 (Module)

Python 模块 (Module) ,是⼀个 Python ⽂件,以 .py 结尾,包含了 Python 对象定义和 Python 语句。
模块能定义函数,类和变量,模块⾥也能包含可执⾏的代码。
模块分类分为三种:
(1) 内置标准模块 (又称标准库),执行help(‘modules’)查看所有python自带模块列表。如sys、os、math等;
(2) 第三方开源模块 ,可通过“pip install 模块名”安装。 如numpy、Pandas、Matplotlib等;
(3) 自定义模块 ,即创建了一个.py文件,就可以称之为模块,可以在另一个程序里导入。即编辑好.py文件。

在 Python 中,每个 Python ⽂件都可以作为⼀个模块,模块的名字就是文件的名字。 也就是说⾃定义模 块名必须要符合标识符命名规则。

一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。

Python中的包

包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。

简单来说,包就是文件夹,但该文件夹下必须存在 init.py 文件, 该文件的内容可以为空。init.py 用于标识当前文件夹是一个包

python依赖引入机制(搜索路径)、PYTHONPATH 变量

当我们导入一个模块时: import xxx ,默认情况下python解释器对模块位置的搜索顺序是:搜索当前目录、已安装的内置模块和第三方模块。

模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

PYTHONPATH 变量,以通过如下方式访问:

>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu','/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', 
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages','/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', 
'/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7','/usr/lib/python2.7/dist-packages/ubuntu-sso-client']

导入模块时搜索路径的顺序也可以改变.这里分两种情况:
1,通过sys.path.append(),sys.path.insert()等方法来改变,这种方法当重新启动解释器的时候,原来的设置会失效.

2,改变PYTHONPATH,这种设置方法永久有效:

使用python虚拟环境,为什么要激活虚拟环境

在使用Python虚拟环境时,建议您先激活该虚拟环境以确保您正在使用正确的Python解释器和相关依赖项如果您没有执行activate命令,直接使用虚拟环境中的Python解释器可能会导致依赖项问题或存在版本冲突等问题

/path/to/virtualenv/bin/python

这将直接启动虚拟环境中的Python解释器,而无需激活虚拟环境。但是,这种做法不是推荐的方式,因为它可能会导致应用程序出现依赖性问题和版本冲突,而且可能不稳定。

使用虚拟环境时,最好的做法是先激活虚拟环境,然后再运行您的 Python 代码。如果您不想手动激活虚拟环境,您可以将 activate 命令的路径添加到您的 shell 配置文件 (例如.bashrc 或 .zshrc),这样每次启动终端会话时,虚拟环境会自动激活,从而确保您始终在虚拟环境中运行 Python 程序。

激活虚拟环境,激活虚拟环境其实就是把当前虚拟环境python所在位置暂时配置到环境变量path中的首位,由于命令行是从环境变量path中自上而下查找所在路径,如果第一个找到,则不会往下继续查找,也就不会用到python全局环境。

我们可以查看激活虚拟化环境脚本activate中,有设置PATH、PYTHONPATH、PATHHOME等操作。

注:python虚拟环境并不一定激活后才可以运行python文件


http://www.ppmy.cn/news/56244.html

相关文章

第二弹进阶吴恩达 ChatGPT Prompt 技巧

第一弹笔记在这里: 总结吴恩达 ChatGPT Prompt 免费课程 今天分享第二弹,进阶篇。 第一点,任务序列化。 通常看完一篇长文,脑子里往往充满无数疑问。急切想知道所有答案,必须列一个问题清单。对话式问法,对…

适合学生党的蓝牙耳机品牌有哪些?学生性价比高的蓝牙耳机排行

近几年,蓝牙耳机凭借便捷的使用迅速成为人们外出常备的数码产品之一。现如今,市面上的蓝牙耳机越来越多,不同品牌,不同型号的蓝牙耳机数不胜数。那么,有没有适合学生党的蓝牙耳机品牌?针对这个问题&#xf…

SpringBoot整合Druid配置多数据源

目录 1.初始化项目 1.1.初始化工程 1.2.添加依赖 1.3.配置yml文件 1.4.Spring Boot 启动类中添加 MapperScan 注解,扫描 Mapper 文件夹 1.5.配置使用数据源 1.5.1.注解方式 1.5.2.基于AOP手动实现多数据源原生的方式 2.结果展示 Mybatis-Plus:简介 | MyBat…

【机器学习分支】重要性采样(Importance sampling)学习笔记

重要性采样(importance sampling)是一种用于估计概率密度函数期望值的常用蒙特卡罗积分方法。其基本思想是利用一个已知的概率密度函数来生成样本,从而近似计算另一个概率密度函数的期望值。 想从复杂概率分布中采样的一个主要原因是能够使用…

多维评测指标解读2022MSU世界编码器大赛结果

是极致性能,更是最佳商用。 19项第一之上,是63%的极致带宽降低 近日,2022 MSU世界视频编码器大赛成绩正式揭晓。报告显示,阿里媒体处理服务MPS(Alibaba Media Processing Service)s264及s265编码器共计斩获…

Redis在linux下安装

1.下载安装包 redis官网: Download | Redis 2.解压 2.1在目录下解压压缩包 tar -zxvf redis-7.0.11.tar.gz 2.2将redis移至另一目录下并改名为redis mv redis-7.0.11 /usr/local/redis 3.编译 进入到redis目录下,make命令编译 [rootVM-24-15-centos local]# cd…

本周大新闻|苹果首款MR没有主打卖点;Meta认为AI是AR OS的基础

​本周XR大新闻,AR方面,苹果首款MR或没有主打卖点,反而尽可能支持更多App和服务;扎克伯格表示基于AI的AR眼镜操作系统是下一代计算平台的基础;微软芯片工程VP Jean Boufarhat加入Meta芯片团队;Humane展示了…

Shuffle优化

一、Map阶段 1.增大缓冲区的大小:默认100M,可以改为200 2.增大缓冲区的溢写百分比:默认0.8,可以改为0.9 3.减少溢写文件的merge次数 4.采用combiner提前预聚合,减少IO。(不影响业务逻辑的前提下,只能加减&a…