zoukankan      html  css  js  c++  java
  • python 包和模块


    一、 模块
      使用内置函数vars()可以查看当前环境下有哪些对象(变量、函数、类)
      from 模块 import *:
      不会导入以下划线开头的对象
      只会导入__all__中定义了的对象(__all__中的每个元素需要是str类型)

      from pprint import PrettyPrinter
      pp = PrettyPrinter()
      pp.pprint(d) # d是一个变量

    二、 包
      用来组织和管理模块,将一组模块汇聚到一个共同的包名称下
      包是一个(特殊的)文件夹:
      文件夹名,符合标识符规范
      文件夹下,有一个__init__.py文件
      从Python3.3起,包支持隐式命名空间,即,不用创建__init__.py文件。
      从包中导入模块和内容:
      import 包.模块
      from 包 import 模块
      from 包.模块import 内容
      只能在包下的模块中用(.表示层级: .表示当前目录,..表示上一层,…表示上2层,….表示上3层。层级为.的数量减去1)
      from ..模块 import 内容
      from ..包 import 模块
      from ..包.模块 import 内容

    三、 模块搜索规则
      搜索顺序,找到之后,就不在找了
      sys.modules:记录了我们加载了那些模块,是一个字典类型,如果模块存在于该字典中,则会直接从字典中取得模块对象,而不会去查找。
      如果要导入的模块和是Python内置模块同名的,会忽略当前目录中的同名模块,而直接使用内置的模块。
      sys.path:记录了Python可以去哪些目录中查找模块和包,是一个列表类型,第一元素为空字符串,表示当前目录。
      python中import导入模块时,导入的名称必须和文件名大小写一致。
      python 执行代码时,加上参数-B,可以禁用生成缓存字节码(ByteCode)。
    四、 包管理工具(pip、conda)
       pip:Python官方推荐的包管理工具,Python业界标准的、使用最广泛的包管理工具。
       pip的缺陷:pip只能安装Python包,不能添加系统缺少的C、C++依赖库(运行时),pip安装带有C、C++编写的Python包时,默认只能调用和Python版本对应的Microsoft Visual C++编译,否则会出错。
       pip命令(见书籍)
       conda:第三方推出的包管理工具。conda在系统已经存在的C、C++依赖库(运行时)不能满足程序运行需求时,会自动安装这些依赖库;conda集成了MinGW编译工具,可以直接编译C、C++编写的Python包而无需MS VC++。
       conda命令(见补充文档)
    五、 虚拟环境
      虚拟环境的作用:
      创建一个隔离的Python环境,而不是系统已经安装了的Python环境。
      一旦激活了虚拟环境:
      用Python执行代码,会使用虚拟环境中的特定版本的Python,和系统安装了几个版本的Python无关。
      Python代码的执行,只会使用虚拟环境中的库(包和模块)。
      使用pip或其他包管理工具安装第三方库时,会直接安装到虚拟环境中。
      安装virtualenv:
      pip install virtualenv
      virtualenv-参数:
       -h、--help:查看帮助
       --version:查看版本
       --no-site-packages:不复制系统包(现已废弃,不起作用了)
       -p PYTHON_EXE、--python=PYTHON_EXE:指定Python版本
      常用标准用法:
      创建-虚拟环境:
      virtualenv <环境名> --python=<Python可执行程序路径>
      进入(激活)-虚拟环境:
      <环境名>\Scripts\activate.bat
      退出-虚拟环境:
      deactivate
      查看当前环境下的Python位置:
      import sys
      print(sys.executable)

  • 相关阅读:
    如何在Ubuntu Server 18.04上安装Microsoft的Procmon
    如何在Ubuntu 20.04上安装Wine 5.0
    如何在Kali Linux 2020中启用SSH服务
    如何在Ubuntu 20.04 LTS Focal Fossa上安装Apache Groovy
    如何使用命令在Ubuntu 20.04 Linux上安装Vmware Tools
    在Ubuntu 20.04 LTS Focal Fossa上安装Zabbix Agent
    hdu 2089 不要62
    hdu 2093 成绩排名
    hdu 2104 hide handkerchief
    leetcode147对链表进行插入排序
  • 原文地址:https://www.cnblogs.com/sxqfuture/p/9981770.html
Copyright © 2011-2022 走看看