更新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学习笔记十_模块、第三方模块安装、模块导入的更多相关文章

  1. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  2. python学习笔记十——模块与函数

    第五章 模块与函数 5.1 python程序的结构 函数+类->模块              模块+模块->包                 函数+类+模块+包=Python pyth ...

  3. python学习笔记(四)random 、json模块

    一.模块简介 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 导入模块 import module #导入模块 f ...

  4. 吴裕雄--天生自然python学习笔记:Beautiful Soup 4.2.0模块

    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时 ...

  5. python学习笔记(十)、文件操作

    在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得? 1 打开文件 要打开文件,可以使用fileinput中的fileinput.input函数进 ...

  6. python学习笔记(十 三)、网络编程

    最近心情有点儿浮躁,难以静下心来 Python提供了强大的网络编程支持,很多库实现了常见的网络协议以及基于这些协议的抽象层,让你能够专注于程序的逻辑,而无需关心通过线路来传输比特的问题. 1 几个网络 ...

  7. python学习笔记(十 二)、操作数据库

    每一种语言都少不了多数据库进行各种操作. python支持多种数据库.有关python支持的数据库清单,请参阅:https://wiki.python.org/moin/DatabaseInterfa ...

  8. Python学习笔记十:json序列化,软件结构目录规范,ATM作业讲解,import本质论

    json序列化 将系统的某个状态保存为字符串(挂起),序列化. import json json.dumps():序列化 json.loads():反序列化 简单类型数据处理 import pickl ...

  9. python学习笔记(十四): unittest

    Python中有一个自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 在说unittest之前,先说几个概念: TestC ...

随机推荐

  1. tigervnc-server 无法启动问题

    [root@moodle-bak .X11-unix]# vncserver WARNING: The first attempt to start Xvnc failed, possibly bec ...

  2. 服务调用框架DataStrom

    根据以前的命名服务,从新构建了下服务框架: 结构模式:c-center-s; 1.服务端: 服务端启动,讲自己的IP,端口注册到注册中心节点(master),然后注册自己的处理类(需要继承对应接口); ...

  3. 无法启动此程序,因为计算机中丢失VCRUNTIME140.dll 尝试重新安装此程序以解决此问题

    最近在阿里云上租了个服务器,想借此发布一些自己制作的网页.于是就打算安装一下环境,考虑到搭建动态网站所要安装的环境比较多,于是就选择了wampserver这样一个集成环境的安装. 由于我的服务器很新( ...

  4. 对python的一些拙见

    对于python,总的来说有点机缘巧合的识得了它.当我录取专业是计算机的时候,身边的一些人向我介绍了这个解释型脚本语言吧.大一自学了一部分,刚好听的网课是嵩天老师的课,这学期迫不及待地拉着舍友选了这个 ...

  5. java 导出 excel 最佳实践,java 大文件 excel 避免OOM(内存溢出) excel 工具框架

    产品需求 产品经理需要导出一个页面的所有的信息到 EXCEL 文件. 需求分析 对于 excel 导出,是一个很常见的需求. 最常见的解决方案就是使用 poi 直接同步导出一个 excel 文件. 客 ...

  6. tail -f 命令暂停方法

    Linux 下查看日志时,使用 tail -f 可以不断的刷新日志信息. 例如: tail -f logs.log 此时要想暂停刷新,使用ctrl+s暂停终端.若想继续终端,使用ctrl+q. 若想退 ...

  7. 70.纯 CSS 创作一只徘徊的果冻怪兽

    原文地址:https://segmentfault.com/a/1190000015484852 感想:monster中边框角.上下动画.旋转动画.左右动画,眼睛中transform:scaleY(n ...

  8. 稀疏矩阵 part 4

    ▶ 各种稀疏矩阵数据结构下 y(n,1) = A(n,m) * x(m,1) 的实现,GPU版本 ● MAT 乘法 __global__ void dotGPU(const MAT *a, const ...

  9. centos7配置yum本地源(iso镜像)及局域网使用

    2.测试环境: 服务器1:44.135.8.19(yum源) 服务器2:44.135.8.1(局域网机器) 系统:centos7.4 上传iso镜像到服务器,并挂载iso镜像 mount -t iso ...

  10. makefile中打印变量名字,方便调试

    $(warning $(DVD_SERVICE)) // DVD_SerVICE是Makefile中的变量 $(warning   ST40_IMPORTS is $(ST40_IMPORTS)) 变 ...