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)和函数组成. 模块是处理一类问题的集合,由函数和类组成. 包是由一系列模块组成的集合.包是一个完成特定任务的工 ...
随机推荐
- Malloc与Free不调用构造函数与析构函数
例子: #include "stdafx.h" #include <new> #include <iostream> using namespace std ...
- VMware虚拟机中CentOS/redhat设置固定IP
你的笔记本中的VMware中redhat或centOS系统,如果想在上面建站,而又如果你需要在家里和公司都能访问该站(至少希望你自己的笔记本能访问),那么就需要将虚拟机IP设置为固定IP了.以下介绍两 ...
- Laravel - 验证码(captcha)
首先,登录网址 packagist.org 查找 laravel captcha,找到mews/captcha ,根据 packagist 上的使用方法一步步来实现验证码的安装.配置composer. ...
- PAT Basic 1071 小赌怡情 (15 分)
常言道“小赌怡情”.这是一个很简单的小游戏:首先由计算机给出第一个整数:然后玩家下注赌第二个整数将会比第一个数大还是小:玩家下注 t 个筹码后,计算机给出第二个数.若玩家猜对了,则系统奖励玩家 t 个 ...
- mongodb,robomongo 数据查询
可视化管理工具:Robomongo 是开源,免费的MongoDB管理工具,下载地址:Robomongo下载 1. 基本查询: 构造查询数据. > db.test.findOne() ...
- java数据结构5--集合Map
Map Map与Collection在集合框架中属并列存在 Map存储的是键值对<K,V> Map存储元素使用put方法,Collection使用add方法 Map集合没有直接取出元素的方 ...
- ansj分词器使用记录
//最简单实例 String ruiec = “分词测试123456100名”; //剔除指定的分词 s.insertStopWords("100名"); //剔除标点符号(w) ...
- 【UOJ#77】A+B Problem
传送门 题目描述 略 Sol 看到选择黑白收益不同,然后还可能有代价. 我们想到用网络流解决,并且这应该是用总可能收益-最小割得到答案. 考虑初步建图,发现那个限制可以直接 \(n^2\) 解决. 我 ...
- Redis如何实现高可用【主从复制+哨兵机制+keepalived】
实现redis高可用机制的一些方法: 保证redis高可用机制需要redis主从复制.redis持久化机制.哨兵机制.keepalived等的支持. 主从复制的作用:数据备份.读写分离.分布式集群.实 ...
- antd表格分页
<Table bordered loading={loading} dataSource={list} pagination={{ showSizeChanger: true, total: d ...