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

2023-05-16

文章目录

  • 使用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文件

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用python虚拟环境,为什么要激活虚拟环境 的相关文章

随机推荐