Python的基本库与第三方库
一:Python 模块,包,库的概念理解:
1.python模块是:
python模块:包含并且有组织的代码片段为模块。
表现形式为:写的代码保存为文件。这个文件就是一个模块。sample.py 其中文件名smaple为模块名字。
2.python包是:
包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的python应用程序执行环境。
通俗一点:包是一个包含__init__.py 文件的目录,该目录下一定得有这个__init__.py文件和其它模块或子包。
常见问题:
引入某一特定路径下的模块
使用sys.path.append(yourmodulepath)
将一个路径加入到python系统路径下,避免每次通过代码指定路径
利用系统环境变量 export PYTHONPATH=$PYTHONPATH:yourmodulepath,
直接将这个路径链接到类似/Library/Python/2.7/site-packages目录下
好的建议:
经常使用if __name__ == '__main__',保证写包既可以import又可以独立运行,用于test。
多次import不会多次执行模块,只会执行一次。可以使用reload来强制运行模块,但不提倡。
常见的包结构如下:
package_a
├── __init__.py
├── module_a1.py
└── module_a2.py
package_b
├── __init__.py
├── module_b1.py
└── module_b2.py
main.py
如果main.py想要引用packagea中的模块modulea1,可以使用:
from package_a import module_a1
import package_a.module_a1
如果packagea中的modulea1需要引用packageb,那么默认情况下,python是找不到packageb。我们可以使用sys.path.append('../'),可以在packagea中的__init__.py添加这句话,然后该包下得所有module都添加* import
__init_即可。
3.库(library)
库的概念是具有相关功能模块的集合。这也是Python的一大特色之一,即具有强大的标准库、第三方库以及自定义模块。
二:Python的基本库与第三方库的区别
1、python的标准库是随着pyhon安装的时候默认自带的库;
2、python的第三方库,需要下载后安装到python的安装目录下。不同的第三方库安装及使用方法不同。
3、它们调用方式是一样的,都需要用import语句调用。简单的说,一个是默认自带不需要下载安装的库,一个是需要下载安装的库。它们的调用方式是一样的。
三:Python第三方库的安装
1. pip安装:
pip安装相信大家都不陌生了,在安装第三方库中,pip是最常使用的一种方法。
# 在python2中使用pip安装
pip install 库名
如:pip install numpy
# 在python3中使用pip安装
pip3 install 库名
如:pip3 install numpy
直接使用pip安装是最便捷的方式,还能指定安装版本
# 安装版本为2.8.7的robotframework库
pip install robotframework==2.8.7 pip3 install robotframework==2.8.7
但也会存在一个问题,就是速度慢,因为文件都在国外服务器上,所以下载速度会很慢,这时候我们就可以使用豆瓣源,速度是跟坐火箭一样快。
pip2 install -i https://pypi.douban.com/simple/ 库名
pip3 install -i https://pypi.douban.com/simple/ 库名
# 记得是https,网上一些地方还是写着http,现在已经过时了
当然,如果你不想每次都要输入豆瓣源的网址,你可以直接在python的环境中配好,下面的配置方法是针对Python3.6.5在Win10环境下
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\Lib\site-packages\pip\_internal\models\index.py
打开Python目录下的
lib\site-packages\pip\_internal\models\index.py,
修改PyPI的地址为https://pypi.douban.com/
PyPI = Index('https://pypi.douban.com/')
这样,你下次只需要pip3 install 库名 就能只能从豆瓣源中获取资源。
Python2的的index.py也是在pip文件夹下,但具体位置跟3会有点区别。
2. whl安装
有时候,你在使用pip安装时会报错各种各样的错,那这时候你可能需要使用whl安装了,whl是离线安装,你需要将文件下载到本地后进行安装。那whl文件可以从哪获取呢?你可以在Python的官网下载,也可以在其他地方,这里我给大家推荐一个网址,上面的资源还是比较齐全,基本上你要的都能找到,但不是官方网址,所以用不用还需自己衡量。
https://www.lfd.uci.edu/~gohlke/pythonlibs/
在使用whl在之前,我们需要先在python中安装好wheel
pip3 install wheel
然后在命令行下执行
# 打开whl文件所在文件夹
cd C:\Users\Administrator\Documents\Tencent Files\FileRecv(文件夹位置)
# 安装
pip3 install xxx.whl(文件名称)
3. 源码安装
源码安装一般我是从github上下载所需的包的源码,如下图的Django
下载后是一个文件夹,里面会有个setup.py的文件,我只需要执行这个文件就可以了安装了。
# 打开setup.py文件所在文件夹
cd C:\Users\Administrator\Documents\Tencent Files\Django(文件夹位置)
# 安装
python setup.py install
以上就是我们常用的安装第三方库的方法,一般的方便程度都是pip -> whl -> 源码 ,当然也是根据大家的实际情况进行判断的。
Python的基本库与第三方库的更多相关文章
- Python标准库与第三方库详解(转载)
转载地址: http://www.codeweblog.com/python%e6%a0%87%e5%87%86%e5%ba%93%e4%b8%8e%e7%ac%ac%e4%b8%89%e6%96%b ...
- Python学习笔记011_模块_标准库_第三方库的安装
容器 -> 数据的封装 函数 -> 语句的封装 类 -> 方法和属性的封装 模块 -> 模块就是程序 , 保存每个.py文件 # 创建了一个hello.py的文件,它的内容如下 ...
- Python入门:如何使用第三方库?
这是关于Python的第13篇文章,也是关于<编程小白的第1本Python入门书>内容的最后一篇,主要介绍下如何使用第三方库. 1. 第三方库 Python相当于一个手机,第三方库相当于手 ...
- Python升级已经安装的第三方库
Python升级已经安装的第三方库 主要两步操作,查看需要升级库,升级库.如下: pip list # 列出安装的库 pip list --outdated # 列出有更新的库 pip install ...
- Python常用的标准库以及第三方库
Python常用的标准库以及第三方库有哪些? 20个必不可少的Python库也是基本的第三方库 读者您好.今天我将介绍20个属于我常用工具的Python库,我相信你看完之后也会觉得离不开它们.他们 ...
- Python 标准库、第三方库
Python 标准库.第三方库 Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具.这些库可用于文件读写 ...
- 模块初识2-模块的默认保存路径Python36-32\\lib\\site-packages,Python36-32\,标准库和第三方库
import 可以直接导入当前目录的其他脚本 如果你把login.py移动到new_dir的目录下,那么就会提示找不到模块: 要解决这个问题,有两个方法: 1.把login.py复制到C:\\User ...
- Python在Windows下安装第三方库浅谈
在用python编写代码时,往往需要用到第三方库,那么python如何去用第三方库呢,首先我们先来看看是如何安装的,方法可能会很多,但这边只介绍一种,其它请百度或google 比如asyncio,这里 ...
- python --- 协程编程(第三方库gevent的使用)
1. 什么是协程? 协程(coroutine),又称微线程.协程不是线程也不是进程,它的上下文关系切换不是由CPU控制,一个协程由当前任务切换到其他任务由当前任务来控制.一个线程可以包含多个协程,对于 ...
随机推荐
- oracle 操作实例(一)----redolog 损坏恢复
一,实验前的准备 数据库全备保证自己没成功还能补救一下 vim full.sh export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACL ...
- DP Intro - Tree POJ2342 Anniversary party
POJ 2342 Anniversary party (树形dp 入门题) Anniversary party Time Limit: 1000MS Memory Limit: 65536K To ...
- DB Intro - MongoDB Basic
mongoDB basic from:http://www.tutorialspoint.com/mongodb prject:https://github.com/chenxing12/l4mong ...
- React.js 小书 Lesson11 - 配置组件的 props
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson11 转载请注明出处,保留原文链接和作者信息. 组件是相互独立.可复用的单元,一个组件可能在不 ...
- phpstorm主题设置
毫无疑问,phpstorm很好用,但是安装完成后自带的主题,丑的一匹,所以总结下如何更换主题............. 1.主题下载位置 http://www.phpstorm-themes.com ...
- IIS7部署网站出现500.19错误(权限不足)的解决方案
错误摘要 HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效. 详细错误信息 模块 IIS Web Core 通知 未知 处理 ...
- Spring3.2下使用JavaMailSenderImpl类发送邮件
1.JavaMailSenderImpl类 Spring的邮件发送的核心是MailSender接口,在Spring3.0中提供了一个实现类JavaMailSenderImpl,这个类是发送邮件的核心类 ...
- Spring课程 Spring入门篇 4-9 Spring bean装配之对jsr支持的说明
1 解析 1.1 疑问:2.2去掉@resource注解,为什么不能赋值?不是有set方法了吗? 1.2 @resource注解版本支持 1.3 没有显式指定@resource的那么,默认名称从何获得 ...
- sass继承
@extend sass中,选择器继承可以让选择器继承另一个选择器的所有样式,并联合声明.使用选择器的继承,要使用关键词@extend,后面紧跟需要继承的选择器. scss.style css.sty ...
- 移动Web布局
移动Web开发之移动页面布局 前言 本文针对手机设备设计的页面,并非兼容全设备的响应式布局,常见的MobileWeb页面如H5页面.手机页面.WAP页.webview页面等等.在不同尺寸的手机设备上, ...