Python学习之==>第三方模块的安装、模块导入
一、模块&包
1、模块
模块实质上就是一个Python文件,它是用来组织代码的。意思就是把Python代码写在里面,文件名就是模块的名称。例如:random.py,random就是模块的名称。
2、包
包又叫pageage,本质就是一个文件夹,和文件夹不一样的地方是它有一个__init__.py文件。包是从逻辑上来组织模块的,也就是说它是用来存放模块的。如果想导入其他目录下的模块,那么这个目录必须是一个包才能导入。
二、模块的分类
1、标准模块、标准包
Python自带的标准模块,直接import就能使用
例如:import string,random,datatime,json,os等
2、第三方模块
别人写好的一些模块,需要安装才能使用。
想要实现某个功能,可以先用百度搜索一下有没有第三方模块
3、自己写的Python文件
三、第三方模块的安装
1、傻瓜式的
(1)在命令行窗口直接输入:pip install pymysql(Python已加入环境变量)
pip在Python3.4以上的版本是自带的。但这种方式需要保证pycharm中的Project Interpreter路径是Python安装路径,否则即使窗口显示下载安装成功,依然不能成功import。因为在命令窗口下载下来的第三方包是存储在Python安装路径\python3\Lib\site-packages下的,而pycharm import时,是从pycharm→File→Settings→Project Interpreter→设置的路径下\Python\Python36\Lib\site-packages去取第三方安装包的。
(2)若提示“pip命令不存在”
把Python安装目录下的Script目录的路劲加入到环境变量再执行pip命令
(3)若提示“Unknown or unsupported command 'install'”
a、打开 C:\strawberry\perl\bin\
b、把这个目录下的pip 都改成其他的名字
(4)也可以直接在pycharm中安装第三方模块,这样安装的模块直接装在Project Interpreter→设置的路径下\Python\Python36\Lib\site-packages下,可以直接使用
如下图:
2、手动安装
(1)安装whl结尾的安装包
shift+右键,在此处打开命令行窗口(或者在地址栏中直接输入cmd)
pip install redis-2.10.6-py2.py3-none-any.whl
(2)安装tar.gz结尾的安装包
a、解压这个安装包
b、进入到这个解压之后的文件夹中
c、在命令行中输入:python setup.py install
3、卸载模块
pip uninstall pymysql
四、模块导入的顺序、实质
1、Python模块导入的顺序
(1)从当前目录下查找
(2)从Python环境变量中查找
2、导入模块的实质
把Python文件从头到尾执行一遍
3、导入当前目录下的Python文件(模块)
(1)第一种方式:
import test
a = test.name # 调用test文件中的name变量
test.my() # 调用test文件中的my()函数
(2)第二种方式
from test import my,name
a = name # 调用name变量
my() # 调用my函数
4、导入其他目录下的Python文件(模块)
(1)先把存放Python文件(模块)的目录加入环境变量
# 先把目录加入环境变量再导入
import sys
sys.path.insert(0,'E:\Python\Script') # 插到环境变量最前面,效率高
(2)导入Python文件(模块)
import test # 导入test模块
a = name # 调用name变量
my() # 调用my函数
当前目录下和环境变量下都有同一个文件时,会优先选择当前目录下的文件
Python学习之==>第三方模块的安装、模块导入的更多相关文章
- Python学习【第十一篇】模块(1)
模块 模块让你能够有逻辑地组织你的Python代码段. 把相关的代码分配到一个模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用. 简单地说,模块就是一个保 ...
- python学习笔记系列----(四)模块
这一章主要是叙述了python模块的概念以及包的概念,还有它们的使用:收获也是大大的. 提起python文件,经常会听到3个名词,python脚本,python模块,python包.脚本的概念是从py ...
- Python学习笔记总结(二)函数和模块
一.函数 函数的作用:可以计算出一个返回值,最大化代码重用,最小化代码冗余,流程的分解. 1.函数相关的语句和表达式 语句 例子 Calls myfunc(‘diege', ...
- Python 学习 第十五篇:模块搜索路径和包导入
在导入自定义的模块时,除了指定模块名之外,也需要指定目录,由于Python把目录称作包,因此,这类导入被称为包导入.包导入把计算机上的目录变成Python的命名空间,而目录中所包含的子目录和模块文件则 ...
- python学习笔记:第八天(模块)
Python3 模块 脚本上是用 python 解释器来编程,如果从 Python 解释器退出再进入,那么定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办法,把这些定义存放在文件中 ...
- Python学习日记(二十八) hashlib模块、configparse模块、logging模块
hashlib模块 主要提供字符加密算法功能,如md5.sha1.sha224.sha512.sha384等,这里的加密算法称为摘要算法.什么是摘要算法?它又称为哈希算法.散列算法,它通过一个函数把任 ...
- python学习笔记:网络请求——urllib模块
python操作网络,也就是打开一个网站,或者请求一个http接口,可以使用urllib模块.urllib模块是一个标准模块,直接import urllib即可,在python3里面只有urllib模 ...
- python学习笔记(12)常用模块
一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包, ...
- Python学习笔记4(函数与模块)
1.Python程序的结构 Python的程序由包(package).模块(module)和函数组成. 模块是处理一类问题的集合,由函数和类组成. 包是由一系列模块组成的集合.包是一个完成特定任务的工 ...
随机推荐
- Maven项目构建利器04——Maven的一些核心概念
1.坐标 1)数学上的坐标: [1].在平面上. 使用X,Y两个向量可以唯一的定位平面上的任意一个点 [2]在空间中, 使用X,Y,Z三个向量可以唯一的定位空间中的任何一个点 2)Maven中的坐标: ...
- threading.local作用及原理
先看下应用: import threading from threading import local import time obj = local() def task(i): obj.xxxxx ...
- C#文件压缩成.Zip
使用的三方类库ICSharpCode.SharpZipLib.dll 方法如下: /// <summary> /// 压缩文件为zip格式 /// </summary> /// ...
- SpringMVC @PathVariable注解
下面用代码来演示@PathVariable传参方式 @RequestMapping("/user/{id}") public String test(@PathVariable(& ...
- ZROI 19.08.02 计算几何
1.向量基础知识 \(atan2\)可以求极角,但是不是特别精确,在坐标接近\(10^{9}\)时会出锅,安全的做法是叉积. 旋转.反射和平移等都可以抽象为矩阵,即,它们可以复合.(需要一些必修四知识 ...
- 《Head First 软件开发》阅读六
软件错误:专业排错 你编写的代码,你的责任.处理错误的方法和其他流程一样,准备好白板.让客户参与.满怀信心的估计.重构与预构. 首先是与客户加强沟通,不管是谁的代码,在自己的系统里就是自己的代码.使代 ...
- percona-toolkit 3.0.13 简单安装记录
percona-toolkit 3.0.13 简单安装记录 环境:centos6.x mysql:8.0.17 yum -y install perl-DBIyum -y install perl-D ...
- [51nod 1830] 路径交
问题描述 给定一棵n个点的树,以及m条路径,每次询问第L条到第R条路径的交集部分的长度(如果一条边同时出现在2条路径上,那么它属于路径的交集). 输入格式 第一行一个数n(n<=500,000) ...
- 【leetcode】Max Area of Island
国庆中秋长假过完,又要开始上班啦.先刷个题目找找工作状态. Given a non-empty 2D array grid of 0's and 1's, an island is a group o ...
- 【leetcode】Valid Triangle Number
题目: Given an array consists of non-negative integers, your task is to count the number of triplets c ...