文章目录

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

使用python虚拟环境,为什么要激活虚拟环境相关推荐

  1. python安装虚拟环境没有activate_Python venv虚拟环境Activate的作用

    今天在处理其它需求时,发现只要用venv目录下的python.exe来解释py代码就可以正常运行.本来以为完事了,突然想起来,这样的话根本没有运行Activate命令,没有进入Python虚拟环境啊. ...

  2. Pycharm中anaconda创建激活虚拟环境出现错误:Your shell has not been properly configured to use ‘conda activate‘.

    Pycharm中anaconda创建激活虚拟环境出现错误:Your shell has not been properly configured to use 'conda activate'. 前言 ...

  3. 如何解决tmux下anaconda激活虚拟环境,python版本不对

    项目场景: 服务器下利用tmux创建窗口,运行.py文件 问题描述: python版本不符合导致出现bug 利用conda激活虚拟环境后,调用python测试任然是2.7 按照其他博主使用source ...

  4. Python环境:解决win10虚拟环境激活失败的问题

    问题描述: activate虚拟环境的时候,电脑win10系统由于其保护安全的执行策略,不支持该脚本的执行操作. 报错记录: PS C:\Users\Administrator\Desktop\ven ...

  5. 【Python】Flask 框架安装虚拟环境报错—处理中......

    Flask依赖两个外部库:Werkzeug 和 Jinja2 Werkzeug 是一个WSGI(在Web应用和多种服务器之间的标准Python接口)工具集,Jinja2负责渲染模板.所以在安装Flas ...

  6. 基于Python的应用程序的虚拟环境

    什么是虚拟环境? (What is Virtual Environment?) Virtual environments are very useful when the application re ...

  7. python创建虚拟环境_Python学习笔记:创建Python开发Web程序的虚拟环境

    学习Excel技术,关注微信公众号: excelperfect 这段时间利用业余时间在断断续续地看Eric Matthes著的<Python编程从入门到实践>这本书,毫不夸张地说,这真的是 ...

  8. Python开发不可不知的虚拟环境

    一.python3.3之后自带的venv模块 1. 创建虚拟环境 python3.6 -m venv project-env 2. 加入虚拟环境目录 cd pronject-env 3. 激活虚拟环境 ...

  9. python 在windows下的 虚拟环境

    解决 python 环境问题 windows 下安装 pip install virtualenv virtualenv的基本使用 1.1 创建虚拟环境 virtualenv venv 为环境指定Py ...

最新文章

  1. php中tables,php显示TABLE数据
  2. windows下使用ffmpeg进行视频转换和截图。
  3. 深度|二代征信:人行数字解读分与征信复议
  4. 第14章5节: HierarchyViewer实现原理-装备ViewServer-查询ViewServer运行状态 2
  5. Aster及其它遥感数据下载地址
  6. 微信小程序从云开发到上线
  7. 「文章重现」2019发表在NBT的10x sc-ATAC-seq分析重现
  8. 计算机怎么会自动开机,电脑怎么设置为通电就自动开机
  9. STM32F4 ADC+DMA单通道采集
  10. 学习cola DDD 架构遇到的问题 在start模块的pom文件添加依赖
  11. SQLITE数据库修复
  12. Thunder团队第三周 - Scrum会议1
  13. 计算机类与财经结合,财经类专业计算机基础教学模式分析与探讨
  14. Java云电子病历系统源码,提供电子病历在线制作、管理和使用的一体化电子病历
  15. 考研邱关源电路总结第一章
  16. 人机工程学的基本设计原则(笔记)
  17. Dockerfile 构建 8-jre-alpine
  18. davinci使用笔记(1)
  19. 用按键精灵来自动投票
  20. 虚拟化桌面的常用协议解析

热门文章

  1. python之截取图片
  2. 使用vs2019写vue
  3. 语音合成公开数据集链接
  4. Acer 4750 安装黑苹果_黑苹果Mac mini驱动安装与设置教程
  5. 设置Mac合上盖子不休眠
  6. scatter python_Python的散点图绘制 scatter
  7. 提高数据科学效率的 8 个Python神库
  8. IOS 第三方库介绍
  9. 计算机辅助设计 牙齿,补牙为什么我们要选嵌体,细听7大优势!
  10. 基于 Java 的 PHP 框架 —— Quercus 简介(转)