python基础篇 13-模块的导入 安装第三方模块
一、模块
一个python文件就是一个模块
标准模块(内置模块)
第三方模块 需要自己安装的
自己写的 需要导入的
import 一个模块的实质:
实际上就是把一个py文件从头到尾执行了一遍,main函数中的不执行
导入模块的顺序:
1、首先从当前目录下找
2、从python的环境变量目录里面找 sys.path()查看环境变量
if __name__ == '__main__':
这个模块被导入时,不会执行if下面的代码
__name__ 在导入的时候 等于文件名, 而在所在文件中时为__main__
导入例子:
a.py模块代码:
a = 1 def execute_sql(sql):
print('执行sql',sql) print('__name__',__name__) #在导入的时候__name__ 当前py文件的名字,在当前文件中 __name__ 为 __main__ if __name__ == '__main__':
execute_sql('select')
execute_sql('update')
execute_sql('insert')
execute_sql('sdfsd sdfsg')
b.py模块代码:
import sys """
# 把要导入模块的目录加入到环境变量中,放在第一个
# 或者使用 mark directory as source Root 会自动添加到环境变量 这个是pycharm的功能
# 但是 如果 是在 服务器上面 运行 还是需要 使用 sys.path.insert(0,r'xxx') 添加到环境变量中的
"""
sys.path.insert(0,r'D:\python高级编程\tmz-code\day4')
print(sys.path) #查看当前文件的环境变量 很重要 很重要 很重要
import check_float as cf
print(cf.is_float(1.33)) import my_model #导入模块 .号引用
print(my_model.name)
my_model.my_func() from my_model import name as nhy_name, my_func as my_func2 #取别名
print(nhy_name)
my_func2() import a
a.execute_sql('select a')
二、pip
1、命令不存在
安装python的时候一定要加入环境变量的目录(linux和windows都要添加):
c:/python/#安装目录
c:/python/Scripts #安装目录下的scripts
2、 perl (win7下会存在,win10下不存在这个问题)
where pip -> pip_hhh
3、修改pip源
import os,sys,platform
ini="""[global]
index-url = https://pypi.doubanio.com/simple/
[install]
trusted-host=pypi.doubanio.com
"""
os_version=platform.platform()
if 'Windows' in os_version:
os_flag=False
file_name='pip.ini'
else:
os_flag=True
file_name='pip.conf'
if os_flag==True:
pippath=os.environ["HOME"]+os.sep+".pip"+os.sep
else:
pippath=os.environ["USERPROFILE"]+os.sep+"pip"+os.sep
if not os.path.exists(pippath):
os.mkdir(pippath)
print(pippath)
with open(pippath+file_name,"w") as f:
f.write(ini)
三、手动第三方模块安装:
1、pip install xxx
2、whl,首先要下载whl文件
pip install xxx.whl
3、.tar.gz 压缩包,下载.tar.gz压缩包
1、解压
2、进入目录
3、执行python setup.py install
1、安装模块
第三方模块
pip install xxx
pip install xxx.whl
python setup.py install
pip uninstall xxx
pip install -U xxx #升级到最新
pip install --upgrade xxxx
pip freeze > requirements.txt #导出已经安装过的依赖
pip install -r requirements.txt #安装指定文件里面的模块
python基础篇 13-模块的导入 安装第三方模块的更多相关文章
- python 基础篇 13 迭代器与生成器
13. 前⽅⾼能-迭代器和⽣成器本节主要内容:1. 迭代器2. ⽣成器 ⼀. 迭代器我们之前⼀直在⽤可迭代对象进⾏迭代操作. 那么到底什么是可迭代对象. 本⼩节主要讨论可迭代对象. ⾸先我们先回顾⼀下 ...
- Python之路(第十二篇)程序解耦、模块介绍\导入\安装、包
一.程序解耦 解耦总的一句话来说,减少依赖,抽象业务和逻辑,让各个功能实现独立. 直观理解“解耦”,就是我可以替换某个模块,对原来系统的功能不造成影响.是两个东西原来互相影响,现在让他们独立发展:核心 ...
- Python基础篇【第5篇】: Python模块基础(一)
模块 简介 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就 ...
- python基础篇(六)
PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模 ...
- 【Python五篇慢慢弹(4)】模块异常谈python
模块异常谈python 作者:白宁超 2016年10月10日12:08:31 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondo ...
- python基础篇(一)
PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算 ...
- python基础篇(二)
PYTHON基础篇(二) if:else,缩进 A:if的基础格式和缩进 B:循环判断 C:range()函数和len()函数 D:break,contiue和pass语句 for,while循环 函 ...
- python基础篇(三)
PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...
- python基础篇(四)
PYTHON基础篇(四) 内置函数 A:基础数据相关(38) B:作用域相关(2) C:迭代器,生成器相关(3) D:反射相关(4) E:面向对象相关(9) F:其他(12) 匿名函数 A:匿名函数基 ...
- python基础篇(五)
PYTHON基础篇(五) 算法初识 什么是算法 二分查找算法 ♣一:算法初识 A:什么是算法 根据人们长时间接触以来,发现计算机在计算某些一些简单的数据的时候会表现的比较笨拙,而这些数据的计算会消耗大 ...
随机推荐
- Ubuntu之root密码重置
(1)系统开机时,连按或者长按shift键,出现GRUB界面,选择并进入"Ubuntu 高级选项",
- global 函数
x = 15 # 全局变量Gdef func_a(): print(x)def func_b(): print(x)def func_c(): global x # 在定义函数内声明x为全局变量后,才 ...
- Oracle函数NULLIF
1.NULLIF函数 函数语法:NULLIF(Expression1,Expression2) 函数功能:如果来个表达式相等,则返回NULL值,否则返回第一个表达式 功能很简单,但是要注意以下几种情况 ...
- Java字段名由驼峰命名转换为下划线命名
private String toUnderlineName(String name) { StringBuilder result = new StringBuilder(); if (name = ...
- 安装fearch
sudo add-apt-repository ppa:christian-boxdoerfer/fsearch-daily sudo apt-get update sudo apt-get inst ...
- 多线程学习(第二天)Java内存模型
一.内存模型基础 Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式进行,整个通信过程对程序员完全透明. 如果编写多线程程序的Java程序员不理解隐式进行的线程之间通信的工作机制,很可 ...
- 记D365开发的最佳实践
前端JS 不同的需求应该划分模块,以便日后修改,也是为了职责分离,模块分离,日后如果想分离到单独的JS文件里面也是比较方便: 对于公共的查询函数,应该做缓存,优先使用sessionStorage. 多 ...
- C/C++/中宏特殊字符的含义及用法总结(“#”、“##”、"#@"、“\”等等)
在C/C++中,宏定义是由define完成的,宏定义中有几种常见的特殊字符需要我们了解,常用的特殊字符有以下几种: #:在宏展开的时候会将#后面的参数替换成字符串: 字符串化##:将前后两个的单词拼接 ...
- SPI接口(续三)
在SPI接口中,判断传输的数据位上电平的高低是通过时钟来衡量的,根据时钟的上升沿/下降沿和数据电平的保持/更改,可以组合出4种方式,具体如下图所示. 从上图中可以看出,时钟相位CPHA决定传输的数据电 ...
- Could not resolve dependency:peer swiper@“^5.2.0“ from vue-awesome-swiper@4.1.1
在安装vue-awesome-swiper时报错: Could not resolve dependency:peer swiper@"^5.2.0" from vue-aweso ...