Python第12课:模块和包

Python第12课:模块和包

时间 2019-01-21上午10:30

主讲 刘培富

地点 四楼电教室


在讲课之前,先普及几个单词:

import 导入

Modular 模块

terminal 终端

console 控制台

include 包含

python是英文版,涉及英语单词较多,但反反复复也就这几个单词,记住了就知道意思了。


python之所以强大,之所以效率高,就是因为模块和包,互联网上有很多别人写好的、免费发布的各种包,你无需再写很多程序,只需导入包,即可方便地使用,极大地提高了开发效率。

一、模块:

一个模块,就是一个py文件。举例:

client.py文件如下:

x="ok"

def func():

print("hello world!")

那么,client.py可以作为一个模块。下面,用main.py来引用这个模块:

import client

client.func()

print(client.__name__)

print(__name__)

print(client.x)

执行结果如下:

hello world!

client

__main__

ok

可见,模块中的变量和自定义函数,都可以方便地引用。

1.在导入模块时,还可以自定义别名,如:import client as abc

2.导入多个模块时,用逗号隔开,如:import os,time,sys,re

3.有时候,我们只想导入模块中的某一个或某几个变量、函数时,就需要使用from import

例如:from client import func,x

4.使用函数dir()可以查看模块的内容,如:print(dir(client))

5.操作系统模块os的调用

import os;

print(os.getcwd())#得到当前目录

print(os.system("dir"))#运行dos命令

二、包

许多个模块,放在同一个目录里,可以组成一个包。包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。

icchat包

包的导入方法,和模块一样。

小提示:

经常使用if __name__ == '__main__',保证你写包既可以import又可以独立运行,用于test。

python安装后,dos会多出一个命令pip,这是python标配的包管理工具,专门用来安装和管理python的包。当然,这在pycharm里,则更容易。

命令有:

在乌班图下,同时存在python2和python3,默认为python3,需要使用:

sudo apt install python3-pip

pip3 install pymysql

pip3 -V

1.查看版本 pip --version

2.安装包 pip install SomePackage

3.卸载包 pip uninstall SomePackage

4.列出已安装的包 pip freeze or pip list

5.升级pip程序 python -m pip install --upgrade pip

6.查看pip的版本 pip -V 注意是大写V


三:如何在内网安装包(离线安装包)?

方法一:针对.gz扩展名的压缩包

在互联网安装包非常简单,在内网如何安装包呢?首先,将包下载好,包解压后应该包含setup.py文件,将这个文件夹放在工程文件夹内。

在python里的Teminal里,先转到setup.py所在目录,执行命令:

python setup.py install

即可


包的下载地址:

https://pypi.org/project/cx_Oracle/#files

把包名替换即可

方法二:针对.whl包

下载时,一定要选对python的版本、64位还是32位,linux还是windows

转到venv/scripts目录,把包放进来,执行命令:

pip install cx_oracle-7.0.0-cp37-cp37m-win_amd64.whl

注意:文件名不能修改

有时候,方法一安装不了,就需要方法二。

升级pip工具:

python -m pip install --upgrade pip

四、强大的包管理工具Anaconda

Anaconda是专业的包管理、环境管理的工具。对于有些离线安装的包,使用前面两种方法,都安装不了,只能使用Anaconda工具。

Anaconda不仅集成了python,而且还集成大量的python的包,所以,我们只需安装Anaconda+PythonCharm即可,尤其是内网环境。在Anaconda之前,建议将原装的Python卸载。

文件名:Anaconda3-2018.12-Windows-x86_64.exe

大小:614M

安装步骤:

1.选择用哪些用户安装?

选择Just Me

目录,例如:E:\Anaconda3

2.选择Options,两个全勾

不勾add anaconda to my PATH(添加Anaconda至我的环境变量)

勾register anaconda

3.两个learn不勾

安装后,可以启动Anaconda Navigator,则表示安装成功。

安装后,可以检查path

接下来,是设置pycharm,调用anaconda中的python和包。


关于Anaconda的使用方法:

建议在图形画界面下完成操作,以下为命令状态下的操作。

安装包时要再三注意,要看仔细了,有的包会破坏环境和已安装的包!!!!

第一,创建环境

如果是内网或离线,要提前运行一句:

conda config --set offline true

否则,会提示:目标计算机积极拒绝。

创建名为learn的环境:

conda create --name learn python=3.7

或conda create -n learn python=3.7

创建成功后,在envs目录下,会有一个learn的目录。

列出所有虚拟环境:

conda env list

第二、删除环境

conda remove --name learn --all

或conda remove -n learn --all

第三、激活环境

activate learn

退出当前环境:

deactivate

第四、安装包

conda install pip #这个是必装

conda install numpy

查找包 conda list ora 则列出cx-oracle包,查询时只需输入匹配部分

激活环境后,可使用pip安装已下载的包,如pip install xx-oracle

第五、配置pycharm

Pure Python 纯净的 python

Project Interpreter 项目解释器

New environment 新环境

virtualenv:用于创建一个独立的Python环境的工具。

Pipenv:好用的Python虚拟环境和依赖管理工具

Existing interpreter 已存在的解释器

inherit global stie-packages 继承全局站点的包

make available to all projects 使所有项目可用 (可以将此虚拟环境提供给其他项目)

template language 使用模板语言

第六,修改镜象

国外镜象速度慢,而且经常安装失败。

查看镜象 conda info

添加清华大学镜象:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

# 设置搜索时显示通道地址

conda config --set show_channel_urls yes

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • 模块和包 一 模块 1 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是...
    go以恒阅读 2,226评论 0 4
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,165评论 4 16
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,618评论 0 10
  • 包(lib)、模块(module) 在Python中,存在包和模块两个常见概念。 模块:编写Python代码的py...
    清清子衿木子水心阅读 3,754评论 0 27
  • 谈教育啊? 我有木有听错啊? 你都不知道自己在干什么,也不知道国家设计了怎样的规矩与制度,你谈什么啊? 像一头发情...
    写字人已失踪阅读 189评论 1 3