python---三方包和模块的安装

这里就不讲三方包和模块的概念以及什么发展史了,直接进主题;

安装方式:分为本地安装和远程安装

本地安装:

1.对于单文件模块,直接拷贝到相关文件夹,存放在sys.path包含的路径都可以,一般存放在Lib/site package文件夹中;

2.对于带setup.py的文件,a,打开命令行工具,b,切换到setup.py所在目录,c,执行命令python setup.py install(python2.x版本),执行命令python3 setup.py install(python3.x版本),注意如果项目使用的是distutils打包,则命令没问题,如果项目使用setuptools打包,而本地又没有安装setuptools则会报错;

安装setuptools:在https://pypi.python.org/pypi这个网址下载压缩文件,依然使用python setup.py install命令安装;

3.安装.egg文件,只需要用easy_install egg文件就可以了;eay_install是setuptools的脚本,所以需要先安装setuptools;

4.安装.whl文件,也可以使用easy_install whl文件,当然最好还是使用pip install .whl文件,在使用pip的时候,还是应该先安装pip,安装pip很简单,也是通过easy_install pip;

5.远程安装,自动从远程地址检索,下载,安装某个模块,之前我们安装setuptools的时候就是手动去检索,下载和安装的;远程安装其实和手动安装一个流程;可以通过easy_install安装,也可以通过pip install安装,其实这两个方式都是setuptools的功能;我们还可以从下面的命令行中看出,检索地址就是之前我们的搜索地址,安装路径也是在Lib/site_packages里面;

6.easy_install安装到不同的python版本,使用easy_install-X.X 库名;X.X是python版本,默认安装是按照环境变量配置的先后顺序,默认安装在最前面的python版本;

7.easy_install安装包的不同版本,使用easy_install"库名 限定符 版本 【,限定符版本】",【】部分是可选,限定符就是>,<,=;使用==,如果已经安装这个版本,则切换到这个版本;查看当前哪个版本属于活动状态直接查看easy_install.pth文件就可以;

easy_install-3.6 "requests <2.14.1"

easy_install-3.6 "requests == 2.14.1"

8.easy_install更新包的版本,使用easy_install --upgrade 包名就可以了;

9.easy_install卸载包。手动卸载:删除easy_install.pth里面对应的包名,删除包文件,只需要两步就可以手动删除,easy_install.pth主要作用就是记录当前通过easy_install.pth安装的包,导入模块时的路径检索;命令卸载:easy_install -m 包名,这个命令其实就是把包名从easy_install.pth里面移除;

10.easy_install -m 包名的真正作用:其实这个命令的真正作用是动态切换库的版本,首先我们把easy_install.pth里面的包名移除,这样解释器就不会找到一个固定的包版本了,现在就可以使用以下命名:

import pkg_resources

pak_resources.require("包的具体版本")

11.easy_install切换安装源:我们知道包都是托管在国外的服务器上的,我们在国内安装的时候会很慢,所以我们就可以切换安装源,使用国内的镜像地址,相当于是在国内的服务器上面下载,就会快很多,切换安装源其实就是去修改easy_install 的下载地址,我们找到下面这个地址,打开easy_install.py文件,然后去把https://pypi.python.org/pypi地址改成国内的就可以了,比如豆瓣镜像地址:https://pypi.douban.com/simple/,使用这个地址下载就会快很多;

Python\Python36-32\Lib\site-packages\setuptools-39.0.1-py3.6\setuptools\command

easy_install的常用操作也就讲完了,现在开始pip的常用操作,pip是基于setuptoos的安装命令;

1.切换安装源:一次性切换:pip install --index-url https://pypi.douban.com/simple/requests,这种方式就是指定检索,只会在这个地址去下载。还有一种扩展检索,用于在官网上下载没有之后去检索的地址:pip install --extra-index-url https://pypi.douban.com/simple/requests;永久性切换:需要在c://users/你的用户名/创建pip文件夹/文件夹下面创建pip.ini文件,然后把下面内容考进去:下面内容就表示把安装源切换成了豆瓣的地址;

[global]

index-url = https://pypi.douban.com/simple

[install]

trusted-host=pypi.douban.com

2.安装在不同环境中:方式1,python -m pip install requests(python2.x)  python3 -m pip install requests(python3.x);方式2,py -2 -m pip install requests,py -3 -m pip install requests;第二种方式是因为python的安装包实际上在系统中安装了一个启动器py.exe,我们可以通过启动器去调用不同版本的python去执行某些脚本;

3.查看包的信息:所以已经安装的包:pip list,不被依赖的包:pip list --not-required;过期的包:pip list --outdated;查看某个包的具体信息:pip show xxx;

4.搜索包:pip search xxx,指定路径检索 pip search -i 检索地址 xxx;

5.安装指定版本:pip install "模块 限定符 版本号【,限定符版本】 "其实就是把之前的easy_install换成现在的pip install;

6.升级包:pip install --upgrade 包名;

7.卸载包:pip uninstall 包名;如果是通过easy_install安装的会自动删除easy_install.pth文件对应的包路径,删除对应的.egg包文件;如果是通过pip.install安装会直接删除对应的包文件;

8.生成冻结需求文档:将当前安装的第三方包记录,存储到指定文件中,以后可根据这个需求文档去安装三方包;命令是:pip freeze > ./requirements.text;  ./指的就是当前目录;根据冻结需求文档安装三方包:pip install -r requirements;这个命令会把需求文档里面所有的三方包都安装,这样就比一个一个去装简便不少;

9.三方模块的版本说明:版本主要是由三部分组成:n1.n2.n3;n3的含义是当版本的bug修复之后,n3就加一,n2的含义是当新增一个小功能之后,n2加一同时n3应该置零,这里我们必须要知道的是n3就是针对版本的bug,当我们增加了小功能,升级了版本,针对这个版本目前还没有bug所以必须是置零的,同样的道理,当作了一个很大的修改之后,必须修改了之前的api,这时候n1就加一,同时n2和n3也要置零,因为针对当前的版本,我们没有新增过小功能,也没有解决过bug,所以自然应该置零了;当以后自己发布库的时候也应该遵循这种规则;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容