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)和函数组成. 模块是处理一类问题的集合,由函数和类组成. 包是由一系列模块组成的集合.包是一个完成特定任务的工 ...
随机推荐
- java.lang.Object类(JDK1.7)
1.Object的类方法 package java.lang; public class Object { private static native void registerNatives(); ...
- Linux 开机文件系统发生错误
1 如果/目录没有损毁,那么开机的时候,屏幕会提示:press root password or ctrl +D,这个时候请输入root密码登陆系统,然后进行如下操作: 1)在光标处输入root密码登 ...
- 牛客假日团队赛5J 护城河 bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 (凸包的周长)
链接:https://ac.nowcoder.com/acm/contest/984/J 来源:牛客网 护城河 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...
- 查看系统的DPI
#include <Windows.h> #include <iostream> int main() { SetProcessDpiAwarenessContext(DPI_ ...
- IDEA部署Spring-boot到Docker容器
一.准备工作 idea安装Docker插件 centos7系统安装docker 二.打开docker远程端口 1. 编辑docker.service文件 vim /usr/lib/systemd/sy ...
- 【视频点播最佳实践】使用OSS SDK上传视频到点播
摘要: 场景 点播上传SDK缺乏需要的语言版本(如C/C++.Go等)或相应的功能(如网络流上传.追加上传),可以直接使用OSS的SDK进行上传. 准备工作 确认已开通点播服务并完成了相关配置.确认已 ...
- Windows 7、Windows XP SP3关闭DEP堆栈执行保护
Windows XP SP3 在Windows XP SP3中,关闭DEP的方法是: 编辑C:\boot.ini,你大概会看到如下内容 [boot loader] timeout=30 default ...
- return和exit以及C语言递归函数
return 在主函数main()中,return整个函数退出,在子函数中return,只退出子函数. exit exit无论在函数什么位置退出整个函数 递归函数 #include <stdio ...
- 按照行数分割excel
本来是想通过NOPI自己编写个小工具分割excel的,但是不想去研究API,就百度了一下,找了很久,有几个软件说是为了这个功能而生,实际上要么不能使用,要么出错,所以暂时没有公开可用的软件. 然后我就 ...
- @JsonView注解指定返回的model类中显示的字段
1.User类 package com.imooc.model; import com.fasterxml.jackson.annotation.JsonView; /** * @author oy ...