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)第一种方式:   

1 import test
2 a = test.name  # 调用test文件中的name变量
3 test.my()      # 调用test文件中的my()函数

(2)第二种方式

1 from test import my,name
2 a = name  # 调用name变量
3 my()      # 调用my函数

4、导入其他目录下的Python文件(模块)

(1)先把存放Python文件(模块)的目录加入环境变量

1 # 先把目录加入环境变量再导入
2 import sys
3 sys.path.insert(0,'E:\Python\Script')  # 插到环境变量最前面,效率高

(2)导入Python文件(模块)

1 import test  # 导入test模块
2 a = name     # 调用name变量
3 my()         # 调用my函数

当前目录下和环境变量下都有同一个文件时,会优先选择当前目录下的文件

转载于:https://www.cnblogs.com/L-Test/p/9188638.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

操作系统中抢占式和非抢占式内核的区别

编排 | strongerHuang微信公众号 | 嵌入式专栏操作系统分为抢占式内核和非抢占式内核,通常RTOS都是抢占式内核。下面就来讲讲抢占式内核和非抢占式内核的内容。非抢占式内核非抢占式内核要求每个任务(线程)都做一些事情来明确放弃对 CPU 的控…

Python3——简单的TCP实例

Python3网络编程——简单的TCP实例 服务器:创建套接字——绑定服务器地址——监听连接——接受连接——数据接收/发送 客户端:创建套接字——连接服务器地址——数据接收/发送 """ server.py encode()/decode() """ fro…

UDP协议 sendto 和 recvfrom 浅析与示例

图片/在思考的樱木花道UDP(user datagram protocol)用户数据报协议,属于传输层。UDP是面向非连接的协议,它不与对方建立连接,而是直接把数据报发给对方。UDP无需建立类如三次握手的连接,使得通信效率很高。…

劝你要看一些有门槛的机会

最近发了很多招聘信息,招聘的岗位算不错的,但是投简历的人不多。我想起来刚开始工作那几年,工资虽然很低,但是也不怎么想鞠躬投简历,毕竟那个时候把面子这个事情看的比什么都重要。自己觉得自己有才,不过后…

Python3——简单的UDP实例

Python3——简单的UDP实例 服务器:创建套接字——绑定套接字——数据接收/发送 客户端:创建套接字——数据接收/发送 """ server.py encode()/decode() """ from socket import * from time import ctimeHOST PORT 11…

怎么得到自增列的下一个会插入的id

代码 1declareTable_namevarchar(60) 2setTable_namePay_inputpay; 3Selectso.name Table_name, --表名字4sc.name Iden_Column_name, --自增字段名字5ident_current(so.name) curr_value, --自增字段当前值6ident_incr(so.name) incr_value,…

ESP32,使用gitee搭建 ESP-IDF 开发框架

ESP32便宜,开发方便,非常适合初学者用来学习,之前我自己写的开发环境可能不再适合,推荐下面这篇文章。关于如何搭建ESP32的开发环境,乐鑫官方给出了很详细的教程和文档,基本上跟着官方教程来操作&#xff0…

jQuery的ajax技术

编辑本博客 ajax异步的JavaScript和html load() 从服务器加载数据,并把返回的数据放入备选元素中。这里加载回来的数据可以只有一个p标签,无需head元素等 $("selector").load(url,data,callback) url:必选,规定加载的ur…

Linux设备树的传递以及kernel中对设备树的解析

当U-Boot将设备树加载到内存指定位置后,ARM内核的SoC以通用寄存器r2来传递dtb在内存中的地址。kernel获取到该地址后对dtb文件做进一步的处理。#设备树的传递当使用bootm加载kernel镜像时(bootz是对bootm的一种封装以及功能扩展,实质一样&…

常用shell命令

要复制整个目录,请使用 cp 命令的 -r 选项。例如,如果有一个名为 mydir 的目录,其中包含 myfile 和 newfile,则可以将该目录复制到一个名为 mydir2 的新目录。mydir2 还将包含 myfile 和 newfile 的副本。请使用以下命令&#xff…

Linux kernel之SMP初始化

01—SMP数据结构SMP的数据结构如下图所示,主要由2部分构成,通过两个宏定义CONFIG_SMP和CONFIG_HOT_PLUG来控制。当设置kernel支持SMP模式时,那么CONFIG_SMP选项是一定会打开的,因此第一部分是必须实现的内容。而第二部分是否需要实…

Python3——多线程之threading模块

Python3——多线程之threading模块 目录 Python3——多线程之threading模块 Threading模块的对象 Threading模块的Thread类 queue模块(线程间通信) Python 提供了多个模块来支持多线程编程,包括 thread、 threading 和 Queue 模块等。程…

MTK笔试1题~

这个题目是前几天一个好友分享给我的,但是因为时间原因没有及时写成文章。这是他参加MTK笔试的题目题目如下:网友提供的代码如下:#include "stdio.h"typedef struct n{int data;struct n* next;struct n* pre; }*pnode;int main(){…

Python3 —— 逗号分隔值CSV

Python3 —— 逗号分隔值CSV 目录 Python3 —— 逗号分隔值CSV CSV 读写CSV文件 CSV 逗号分隔值( Comma-Separated Value, CSV)。与专有的二进制文件格式截然不同, CSV 通常用于在电子表格软件和纯文本之间交互数据。CSV 文件…

教你如何防止电脑插入u盘后自动运行

今天重装了系统,安装了驱动和各种软件,然后打完了补丁。在使用的过程中,当我插入U盘的时候发现是自动打开的,那么怎样防止这一个现象呢?思考片刻我想到了本地组策略,于是找了一下,结果还真有一个…

从单片机步入Linux之运行地址与加载地址

大家好,我是情报小哥!本文为【单片机步入嵌入式Linux】系列文章的第二篇,主要是跟大家讲解一下链接过程中几个地址的区分与理解~01单片机存储分配

Python3——JSON

Python3——JSON 目录 Python3——JSON Python和JSON数据类型对比 dumps()/loads() JSON是JavaScript的子集,专门用于指定结构化的数据。JSON 是轻量级的数据交换方式,易于阅读和编写。 Python和JSON数据类型对比 dict object list,tuple array …

不要错过秋招

标题就是重点~这是今天跟一个同学聊天说到的问题,之前我不是直播了嘛,我在直播里面说,如果大家有求职面试相关的事情,可以私下找我,这位同学还是很积极,今天就找我聊了。他的简历整体上问题不大&#xff0c…

VMware HA与VMotion的部署与搭建

VMware HA与VMotion的部署与搭建一.VMware HA 由于公司虚拟化的不断使用,不允许出现ESX Server的单点故障,因此考虑用VMware 自己的解决方案,及VMware的群集,对于群集的相关介绍,这里就不再叙述了&#…

这几个电子行业优质公众号,让你学习不迷路

古人都知道白天看日,晚上追星,如何学习不迷路,让自己的学习更加有效率,当然是要学习大佬们的经验总结。2021已过半,碎片时间充斥了我们的生活,与其淹没在信息洪流里不如只阅读精挑细选的优质,内…