广告
返回顶部
首页 > 资讯 > 后端开发 > Python >详解Python编程中包的概念与管理
  • 923
分享到

详解Python编程中包的概念与管理

详解概念Python 2022-06-04 19:06:08 923人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

Python中的包 包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的python的应用环境。 考虑一个在Phone目录下的pots.py文件。这个文件有如下源代码: #!

Python中的包
包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的python的应用环境。
考虑一个在Phone目录下的pots.py文件。这个文件有如下源代码:


#!/usr/bin/Python
# -*- coding: UTF-8 -*-
 
def Pots():
  print "I'm Pots Phone"


同样地,我们有另外两个保存了不同函数的文件:

Phone/Isdn.py 含有函数Isdn() Phone/G3.py 含有函数G3()

现在,在Phone目录下创建file __init__.py:


Phone/__init__.py


当你导入Phone时,为了能够使用所有函数,你需要在__init__.py里使用显式的导入语句,如下:


from Pots import Pots
from Isdn import Isdn
from G3 import G3


当你把这些代码添加到__init__.py之后,导入Phone包的时候这些类就全都是可用的了。


#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
# 导入 Phone 包
import Phone
 
Phone.Pots()
Phone.Isdn()
Phone.G3()

以上实例输出结果:


I'm Pots Phone
I'm 3G Phone
I'm ISDN Phone


如上,为了举例,我们只在每个文件里放置了一个函数,但其实你可以放置许多函数。你也可以在这些文件里定义Python的类,然后为这些类建一个包。

Python的包管理工具

Distribute是对标准库disutils模块的增强,我们知道disutils主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包。
Distribute被创建是因为Setuptools包不再维护了。
安装Distribute
可以通过distribute_setup.py 脚本来安装Distribute,也可以通过easy_install, pip,源文件来安装,不过使用distribute_setup.py来安装是最简单和受欢迎的方式


$ curl -0 Http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py



Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。
Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。

安装Pip
Pip的安装可以通过源代码包,easy_install或者脚本。
下面介绍一下各种安装方法:
源代码方式:


$ wget http://pypi.python.org/packages/source/p/pip/pip-0.7.2.tar.gz (替换为最新的包)
$ tar xzf pip-0.7.2.tar.gz
$ cd pip-0.7.2
$ python setup.py install
easy_install:
$ easy_install pip

get_pip.py 脚本:


$ curl -0 https://raw.GitHub.com/pypa/pip/master/contrib/get-pip.py
$ sudo python get-pip.py


OK, 下面来看一下Pip的使用
安装package


$ pip install markdown

列出安装的packages


$ pip freeze


安装特定版本的package
通过使用==, >=, <=, >, <来指定一个版本号。


$ pip install 'Markdown<2.0'
$ pip install 'Markdown>2.0,<2.0.3'


升级包
升级包到当前最新的版本,可以使用-U 或者 --upgrade


$ pip install -U Markdown


卸载包


$ pip uninstall Markdown


查询包


pip search "Markdown"



PS -- 包安装后的py文件路径:


/usr/local/lib/python2.7/dist-packages

--结束END--

本文标题: 详解Python编程中包的概念与管理

本文链接: https://www.lsjlt.com/news/15740.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 详解Python编程中包的概念与管理
    Python中的包 包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的Python的应用环境。 考虑一个在Phone目录下的pots.py文件。这个文件有如下源代码: #!...
    99+
    2022-06-04
    详解 概念 Python
  • SpringAOP的概念与实现过程详解
    目录Aop实现aop方式一实现aop方式二注解实现aopAop 什么是Aop? AOP就是面向切面编程,通过预编译方式以及运行期间的动态代理技术来实现程序的统一维护功能。 什么是切面...
    99+
    2023-02-22
    Spring AOP概念 Spring AOP实现方式
  • 详解C#中委托的概念与使用
    目录委托的概念多播委托拖动按钮委托的概念 委托这个名字取的神乎其神的,但实质是函数式编程,把函数作为参数传递给另一个参数。对于C语言程序员来说,就是把函数指针当作参数传递给另一个函数...
    99+
    2023-02-27
    C#委托使用 C#委托
  • C/C++中线程基本概念与创建详解
    目录一、线程基本概念二、为什么使用多线程1.避免阻塞2.避免CPU空转3.提升效率三、创建线程函数1.CreateThread2._beginthreadex四、简单多线程示例使用C...
    99+
    2022-11-13
  • Spring IoC、面向切面编程、事务管理等Spring基本概念详解
    一、Spring IoC1.1 重要概念1)控制反转(Inversion of control)控制反转是一种通过描述(在java中通过xml或者注解)并通过第三方去产生或获取特定对象的方式。控制反转IoC(Inversion of Con...
    99+
    2023-06-02
  • MySQL存储过程概念、原理与常见用法详解
    本文实例讲述了MySQL存储过程概念、原理与常见用法。分享给大家供大家参考,具体如下: 1、存储过程的概念 在一些语言中,如pascal,有一个概念叫“过程”procedure,和“函数”function...
    99+
    2022-10-18
  • Java中内部类的概念与分类详解
    目录内部类概念内部类的分类:成员内部类普通内部类静态内部类局部内部类总结只能使用修饰限定符:public 和 默认 来修饰类 内部类概念 在 Java 中,将一个类定义在另一个类的内...
    99+
    2022-11-12
  • Python面向对象编程之怎么理解类的概念
    这篇文章主要讲解了“Python面向对象编程之怎么理解类的概念”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python面向对象编程之怎么理解类的概念”吧!1、面向对象基本概念1.1 万物皆...
    99+
    2023-06-25
  • 关于对python中进程的几个概念理解
    目录进程僵尸进程孤儿进程守护进程互斥锁总结进程 第一,进程是一个容器。每一个进程都有它自己的地址空间,一般情况下,包括文本区域( text region)、数据区域(data re...
    99+
    2022-11-12
  • Spring中AOP概念与两种动态代理模式原理详解
    目录1.概念1.AOP技术简介2.AOP的优势3.Spring AOP术语4.AOP 开发明确的事项 2.AOP底层实现1.AOP 的动态代理技术:3.基于cglib的动态...
    99+
    2022-11-12
  • 如何理解java中进程的概念
    进程的概念进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。 一、进程是一个实体每一个进程都有它自己...
    99+
    2021-05-21
    java基础 java 进程 概念 理解
  • 详解Java内部类与对象的打印概念和流程
    目录一、内部类的概念二、内部类的分类三、成员内部类1、普通内部类2、静态内部类四、局部内部类五、对象的打印一、内部类的概念 在 Java 中,可以将一个类定义在另一个类或者一个方法的...
    99+
    2022-11-12
  • 详解Node.js包的工程目录与NPM包管理器的使用
    工程目录 了解了以上知识后,现在我们可以来完整地规划一个工程目录了。以编写一个命令行程序为例,一般我们会同时提供命令行模式和 API 模式两种使用方式,并且我们会借助三方包来编写代码。除了代码外,一个完整的...
    99+
    2022-06-04
    管理器 详解 目录
  • Python中关于面向对象概念的详细讲解
    面向对象编程的2个非常重要的概念: 类和对象 对象是面向对象编程的核心,在使用对象的过程中,为了将具有共同特征和行为的一组对象抽象定义,提出了另外一个新的概念——类。 类用来描述具有...
    99+
    2022-11-12
  • 一文搞懂JavaScript中最难理解概念之一的闭包
    目录一、闭包的概念二、怎么实现闭包三、闭包的用途1.封装私有变量2. 做缓存3. 模块化编程(实现共有变量)四、闭包的缺点五、最后的话一、闭包的概念 当通过调用外部函数返回的内部函数...
    99+
    2023-05-14
    JavaScript闭包实现 JavaScript闭包应用 JavaScript闭包
  • C++11中列表初始化机制的概念与实例详解
    目录概述 实现机制详解 POD类型的列表初始化 含有构造函数的类的列表初始化(C++11) 列表初始化用于函数返回值 引入std::initializer_list 代码验证 应用 ...
    99+
    2022-11-12
  • MySQL的存储函数与存储过程相关概念与具体实例详解
    目录MySQL存储过程与存储函数的相关概念存储过程存储函数存储函数与存储过程的对比存储过程和函数的查看修改删除MySQL存储过程与存储函数的相关概念 存储函数和存储过程的主要区别: ...
    99+
    2023-03-01
    MySQL的存储函数与存储过程 MySQL存储过程 MySQL存储函数
  • 详解node中的包和包管理工具
    包从哪里来的?不同于 Node.js 中的内置模块与自定义模块,包是由第三方个人或团队开发出来的,免费供所有人使用。 在这里记笔记:免费的!!!为什么我们要用包?由于 Node.js 的内置模块仅提供了一些底层的 API,导致在基于内置模块...
    99+
    2022-11-24
    node Node.js
  • 邮件收发原理你了解吗? 邮件发送基本过程与概念详解(一)
    相信大家在日常工作生活中少不了和邮件打交道,比如我们会用邮件进行信息交流,向上级汇报日常工作;再比如大家熟悉的某个WEB系统注册阶段,通常会有一个功能,点击发送到目标邮箱的链接完成账户激活。但是邮件发送的原理是什么?邮件是如何发送的呢?本系...
    99+
    2023-05-31
    javamail 邮件发送 (一)
  • 详解python中xlrd包的安装与处理Excel表格
    一、安装xlrd 地址 下载后,使用 pip install .whl 安装即好。 查看帮助: >>> import xlrd >>> help(xlrd) Hel...
    99+
    2022-06-04
    详解 表格 xlrd
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作