Python学习笔记十_模块、第三方模块安装、模块导入
更新pip包命令:
python -m pip install --upgrade pip
看到Successfully字样即安装成功
一、模块、包
1、模块
模块实质上就是一个python文件。它是用来组织代码的,意思就是把python代码写到里面,文件名就是模块的名称,test.py test就是模块的名称
2、包
包,package本质就是一个文件夹,和文件夹不一样的是它有一个__init__.py文件。包是从逻辑上来组织模块的,也就是说它是用来存放模块的,如果想到如其他目录下的模块,那么这个目录必须是一个包才可以导入。
二、模块分类
1、标准模块、标准包
python自带的这些模块,直接import就能用的
import string,random,datetime,os,sys,json,hashlib
2、第三方模块
别人写好的一些模块,你要安装之后才可以用
想实现某个功能,可以先去百度搜一下有没有第三方模块
3、自己写的python文件
whl结尾的可以pip install xxxx(绝对路径)安装
三、安装第三方模块
1、傻瓜式的
(1) 直接在命令行窗口输入命令 pip install pymysql 、pip install redis
pip在python3.4以上的版本是自带的。但这种方式需要保证pycharm中的Project Interpreter路径是Python安装路径,否则即使窗口显示下载安装成功,依然不能成功import
因为命令行下载下来的第三方安装包存储在Python安装路径\python3\Lib\site-packages
而pycharm import时,是从pycharm->File->Settings->Project Interpreter->设置的路径下\python\venv\Lib\site-packages去取第三方安装包
(2) 也可以直接在pycharm中安装第三方模块,这样安装的模块会放在Project Interpreter->设置的路径下\python\venv\Lib\site-packages下,就可以直接使用。

(3) 若提示pip命令不存在
输入 where pip
若提示pip不是内部命令
pycharm External Libraries
备注:python 3.5以后 scripts自动加入到计算机环境变量
没有pip命令的怎么搞
a、pycharm里面点python console
b、找到python安装目录
c、然后把安装目录下的scripts目录,加入到环境变量里面即可
ps:环境变量在PATH里面加
(4) Unknown or unsupported command 'install' 出来这个问提怎么解决
a、打开 C:\strawberry\perl\bin\
b、把这个目录下的pip 都改成其他的名字,这个对其他的没有影响
2、手动安装(无网络清况下使用)
限制外网无法直接下载时,可以找别人下载好包然后手动安装
(1) 百度搜索:python redis
(2) 找到网址:https://pypi.python.org/pypi/redis#downloads,下载安装包
(3) 安装whl结尾的安装包
shift+右键,在此处打开命令行窗口(或者在地址栏中直接输入cmd)
pip install redis-2.10.6-py2.py3-none-any.whl
(4) 安装tar.gz结尾的安装包
a、解压这个压缩包
b、进入到这个解压之后的文件夹里面(shift+右键,在此处打开命令行窗口(或者在地址栏中直接输入cmd))
c、在命令行里面运行 python setup.py install
3、卸载模块
pip uninstall xxx #卸载
4、更新模块
pip install xxx -U
5、批量安装模块(旧换新电脑,之前安装的模块)
pip freeze > 第三方模块.txt #导出已经安装的第三方模块
pip install -r 第三方模块.txt #从文件里面读取模块,批量安装
四、导入模块的顺序、实质
1、python导入模块时候的顺序:
(1) 从当前目录下找需要导入的python文件
(2) 从python的环境变量中找 sys.path
2、导入模块的实质:
就是把python文件从头到尾执行一次
举个例子:
(1) 自定义一个python模块 dr.py,放在当前目录下
name = 'hello'
def my():
print('python')
my()
(2) 新建一个tmp.py
import dr #导入文件的时候已经把python文件执行了一次,打印出python
print(dr.name) #打印出hello
dr.my() #打印出python
上面的代码还可以用下面这种方式写
from dr import name,my #这种调用自定义函数时不用再写“文件名.函数”,直接写函数或者变量名
print(name)
my()
from dr import * #导入所有的
#from aa import *
my()
#尽量不要用,因为看源码的时候会很难看出来函数属于哪个文件
(3) 当把dr.py放在sys.path其中一个环境变量下后,dr.就可以点出函数了
(4) 当前目录和path环境变量下都有dr.py,会优先选择当前目录下的dr.py
Python学习笔记十_模块、第三方模块安装、模块导入的更多相关文章
- Python学习笔记(十二)—Python3中pip包管理工具的安装【转】
本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...
- python学习笔记十——模块与函数
第五章 模块与函数 5.1 python程序的结构 函数+类->模块 模块+模块->包 函数+类+模块+包=Python pyth ...
- python学习笔记(四)random 、json模块
一.模块简介 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 导入模块 import module #导入模块 f ...
- 吴裕雄--天生自然python学习笔记:Beautiful Soup 4.2.0模块
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时 ...
- python学习笔记(十)、文件操作
在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得? 1 打开文件 要打开文件,可以使用fileinput中的fileinput.input函数进 ...
- python学习笔记(十 三)、网络编程
最近心情有点儿浮躁,难以静下心来 Python提供了强大的网络编程支持,很多库实现了常见的网络协议以及基于这些协议的抽象层,让你能够专注于程序的逻辑,而无需关心通过线路来传输比特的问题. 1 几个网络 ...
- python学习笔记(十 二)、操作数据库
每一种语言都少不了多数据库进行各种操作. python支持多种数据库.有关python支持的数据库清单,请参阅:https://wiki.python.org/moin/DatabaseInterfa ...
- Python学习笔记十:json序列化,软件结构目录规范,ATM作业讲解,import本质论
json序列化 将系统的某个状态保存为字符串(挂起),序列化. import json json.dumps():序列化 json.loads():反序列化 简单类型数据处理 import pickl ...
- python学习笔记(十四): unittest
Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 在说unittest之前,先说几个概念: TestC ...
随机推荐
- lambda expressions
语法lambda表达式包含下面几个要素:1.逗号分隔的参数列表,如CheckPerson.test(Person p),其中p表示一个Person的对象实例 2.向右箭头 →, 箭头左侧是表达式入参, ...
- iptables的MAC地址过滤
这里(http://en.wikipedia.org/wiki/Mac_address)有关于MAC地址的一些信息. 查询现有设置 iptables -S [chain] 比如:针对1中所设 inp ...
- windows server 2003产生的 Minidmp蓝屏文件分析求助
在机房运行的四台服务器中均出现了蓝屏dmp文件,经过整理发现CDMS主备服务器最近(2018年1月开始)蓝屏的dmp很多.经过自己的学习分析发现不足以找到先关的原因和处理方法,希望得到大牛们的帮助.以 ...
- Oracle不能连接故障排除[TNS-12541: TNS: 无监听程序]
1. 情况:Oracle安装后使用的好好的,放假关机后重新开机居然发现不能正常连线,客户报错:TNS-12541: TNS: 无监听程序 2. 检查: 1. 服务器上Oracle启动正 ...
- Mac端解决(含修改8.0.13版的密码):Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
1. 安装mysql但是从来没启动过,今天一启动就报错: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2 ...
- SQL server 2008(Linux安装)
今天应公司的要求,需要在阿里云上安装sql server 在本地使用,由于自己原来没有涉及过这样的安装所以走了很多的弯路.现在将我的安装过程与大家分享,希望能够帮到想要学习这个方面的人.以下是我用Ce ...
- DLC 数制与数制的转换
进位计数值:用进位的方法进行计数 常用数值有十进制.二进制.八进制.十六进制等. 进位计数制把包括基数与权两个基本问题.
- Android 开发 关于APP无法安装到Android模拟器上的问题
我们在创建一个app后,打算安装到Android模拟器上.可能会出现无法安装,或者提示已经安装无法卸载的问题.这个时候需要添加兼容CPU. 选择 build.gradle 文件打开添加如下代码: an ...
- Celery异步的分布式任务调度理解
什么是Celery呢? Celery是一个用Python开发的异步的分布式任务调度模块. Celery本身不包含消息服务,使用第三方消息服务,也就是Broker,来传递任务,目前支持的有Rebbimq ...
- shell脚本实现telnet测试服务端口
备注,使用方法:当前目录下要存在需要测试的地址端口的文件ip.txt,例子:cat ip.txt141.12.65.17 7500 #!/bin/bashcur_dir=$(pwd)ipfile=$c ...