python3_python3.7 - CSDN
精华内容
参与话题
  • Python3开发详解

    万人学习 2019-12-18 15:09:51
    Python3 开发详解,课程从基础的环境搭建讲起,详细讲述了Python开发的方方面面,内容包括:编程基础、函数、数据结构、异常处理、字符串、数字、网络编程、多线程、数据库处理等。
  • Python3.2.3官方文档(中文版)高清完整PDF

    千次下载 热门讨论 2020-07-30 20:55:29
    Python3.2.3官方文档(中文版) 由笔者自己翻译,有不当之处希望在博客上相互交流
  • 玩转Python-Python3基础入门

    千人学习 2020-07-21 20:23:03
    总课时80+,提供源码和相关资料
  • Python2和Python3的区别,以及为什么选Python3的原因

    万次阅读 多人点赞 2020-01-01 19:48:51
    我的机器学习教程「美团」算法工程师带你入门机器学习 已经开始更新了,欢迎大家订阅~ 任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑...

    我的机器学习教程「美团」算法工程师带你入门机器学习   已经开始更新了,欢迎大家订阅~

    任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~

     

     

     

     

     

    学习Python 2还是Python 3?

    罗振宇在今年的跨年演讲,《时间的朋友》中有个观点,大意是说,人们都有一种受虐情节,有时候希望别人对他粗暴一点。为此,他还举了两个例子,分别是“乔布斯对待消费者的态度”和“和菜头不尊重他的饮食需求”,末了还很享受的来一句:我爱死他了,对我再粗暴一点好不好!

    看到很多新同学在学习Python的过程中,犹豫学习Python 2还是学习Python 3而迟迟不行动,白白地浪费了大把时间,错过了升职加薪的机会,我真心觉得非常遗憾。所以,我忍不住想对大家粗暴一次,给大家一个粗暴而又正确的答案:

    应该学习Python 2还是Python 3?

    都要学!

    这个答案可能很出乎意料,也很容易反驳,例如:

    • Python 3 才是Python的未来
    • Python 官方都建议指直接学习Python 3
    • Python 2 只维护到2020年

    真的是这样吗?作为一个在一线互联网公司奋斗的工程师,也是一个多年的Python老手,大家不妨来看看我这么说的理由。

    为什么还要学习Python 2

    Python 2只维护到2020年不应该成为你拒绝Python 2的理由

    所有纠结学习Python 2还是Python 3的朋友都知道,按照Python官方的计划,Python 2只支持到2020年。可能大家接触Python的时间还不长,不知道Python官方曾经还说过,Python 2只支持到2015年(https://github.com/python/peps/blob/master/pep-0373.txt)。所以,大家可以看到,跳票不是中国人的特权,Python官方也是会跳票的。

    如果大家关注科技新闻的话,会注意到,就在前几天,微软刚宣布将在2020年对Win 7停止任何技术支持,之后即使遇到BUG和安全问题,他们也不会再修复,就像现在的XP一样。但是,大家看看我们周围的同事、朋友、亲戚,到底是用Win 7的多还是用Win 10的多?这些用Win 7的人有吵着说我要升级Windows的吗?用Win 10的人有吵着让用Win 7的人升级吗?

    但是,在Python这个圈子,就是有很多人吵着要让别人升级Python 3。很多时候用户并不关心自己用的是Python 2还是Python 3,只要能用就行。所以,用Python 2的人并没有什么动力去升级到Python 3。

    如果你觉得,Python 3才是Python的未来,不希望接触Python 2的项目。那么,问题来了,女神跟你说,晚上来我家给我修下电脑呗,但是我的电脑是Windows XP的,你是去还是不去?

    Python官方建议学习Python 3只是一种一厢情愿的行为

    我们来看一下Python 2和Python 3的下载统计数据(Python 2.7 still reigns supreme in pip installs):

    Python 2的使用量远远超过Python 3。而且,大家注意竖轴的单位,是指数!简单换算一下就知道,仅从下载量来说,Python 2.7的下载量是总下载量的90%!所以,学习Python,想直接抛弃Python 2学习Python 3,几乎是不可能的事情。

    上面的数据是全球范围的统计数据,我们来看看中国互联网的情况。为了写这篇文章,我专门在同学群里面发了红包,邀请了来自百度、阿里、腾讯、网易、美团、华为、招行、建行、eBay、美图、Oracle等公司的一线技术专家,统计了各大公司使用Python的情况。

    统计数据如下:

    • 10% 使用 Python 3
    • 20% 既使用Python 2也使用Python 3,Python 2用的更多
    • 70% 使用Python 2

    统计数据基本与pypi的全球范围的统计数据吻合。所以,如果你说,我一开始学的就是Python 3,Python 3也是Python的未来,我不想去了解和学习Python 2。那么,你可能要和大半个中国互联网失之交臂了。或许你也不在乎,但是,如果有人拿钱砸你让你维护Python 2的代码呢?

    Python 2还会存在很长一段时间

    不知道大家有没有想过,为什么Python官方极力让大家使用Python 3,而Python 2依然处于统治地位呢?

    其实答案很简单也很粗暴:因为绝大多数人,你给他什么,他就用什么。据我说知,尽管Python 3在2008年12月就已经发布了,但是,目前Python 3仍然不是任何操作系统的默认Python解释器,这是Python 3使用不广泛的主要原因。

    我们都知道,在任何一家公司,升级服务器的操作系统版本都是一个很慎重事情。所以,我们有理由相信,Python 2还会存在很长一段时间。很长是多长呢?至少比2020年还要长。

    这个世界并不是非黑即白的,Python也不是

    有了前面的数据做支撑,我们不是应该学习Python 2吗,为什么Python 2和Python 3都要学呢?

    首先,这个世界并不是非黑即白的,Python也不是。在学习Python 2和学习Python 3中间,其实有一个很好的平衡,那就是同时兼容Python 2和Python 3。为了做到同时兼容Python 2和Python 3,需要深用到Python的__future__库。__future__库里面包含了不少从Python 3 backport 到Python 2的特性,充分使用__future__库,可以很好的兼容Python 2和Python 3。

    其次,Python 2和Python 3确实有一些差异,但是,并没有大家想象的那么大,Python 2和Python 3之间的差异不到Python语法的10%,我们可以快速地了解哪些Python 2里面的语法在Python 3中已经被弃用,在我们写代码的过程中,规避掉这一部分语法即可。在Python的最佳实践中,Python 3里弃用的Python语法,在Python 2里面也不推荐使用,不然也不会被弃用了。如果你知道并坚持Python的最佳实践,那么,对你来说,Python 2和Python 3的差异就更小了。

    最后,我们可以参考优秀的开源软件的做法,如OpenStack,努力做到代码同时兼容Python 2和Python 3(Python3 - OpenStack),也可以借助一些开软的库(如six)来同时兼容。如果能够做到同时兼容Python 2和Python 3,我们的使用者将更广泛,我们的代码也将更有价值。

    拿Windows 来说,当 Windows 7 发布的时候(我就不说 Vista 了),很多人依然抱着 XP 不放,当你问他们为什么时,他们会一本正经地说,“新系统好卡啊”,或是“好多软件都不兼容啊”,或是“改变很大啊,好不习惯啊”,甚至是“ XP 已经是很好的系统了,微软出个新系统就是为了坑钱”。

    于是乎,春去春又来,送走了 Win 7 ,我们又迎来了 Win 8 ,但是这些人的想法依然没有改变(我相信中国人中这种情况多一些)。如果这种人很多而且这种情况持续下去的话,最终的结局只会是微软的状况越来越差,最终人们毫无选择,投降了Linux的怀抱(咦?怎么有种心花怒放的感觉)。

    当我在脑子里把上面的 Win XP 换成 Python 2 、Win 7 换成 Python 3 甚至 Python 4 时,不禁感到一阵恐惧,我差点就和其他人合谋把 Python 给害死!试想一下,多年以后,Ruby 、Go 等语言都有了很多新的特性,虽然最新的 Python 也十分优秀,但因为一些人,不愿改变,坚守着老版本,抛出一些可笑的理由,最终 Python 因为用户习惯而没落了, Guido 和整个 Python 社区的努力都被这些人的习惯给无视了。

    让我们来看看这些可笑的理由(关于详细的解释,可以看一下知乎上的徐酿泉的答案,我在这简单总结一下):
    什么?支持 Python 3 的库太少?醒醒吧,这都6年了,最新都3.4.1了,现在还不支持 Python 3 的库大多是常年无人维护的东西了。
    什么?新版本和旧版本兼容性差?放心吧,以后的版本会越来越不兼容,除非你打算死守 Python 2 一辈子。况且,为了新的特性,改变一下有那么难吗?
    最后,那些还在坚守旧版本的人,你们的一堆理由和批评,真的不是在为自己的问题作辩护吗?

    stop talking, just do it

    前面说了我对学习Python 2还是Python 3的一些观点,希望能够帮助大家少走弯路,另外,关于Python的版本问题,我这里还有一些良心建议:

    • 学习Python前,先了解在Python 3里面已经弃用的Python 2语法,对这些部分简单带过不要花太多时间
    • 使用Python 2,不要使用Python 2.7以前的版本
    • 使用Python 3,不要使用Python 3.4以前的版本
    • 多了解Python 2的__future__库
    • 对同一份代码,不要为Python 2和Python 3分别维护分支,努力在一套代码中兼容Python 2和Python 3

    这篇文章详细的说明了为什么要同时学习Python 2和Python 3,如何在Python 2和Python 3中找到一个平衡。但是,重要的不是纠结学习Python 3还是Python 2,而是“stop talking, just do it!”。

    Python2与Python3的具体区别

    除了引入import from future,了解一下两者的区别也是很必要的

    print函数:(Python3中print为一个函数,必须用括号括起来;Python2中print为class)

    Python 2 的 print 声明已经被 print() 函数取代了,这意味着我们必须包装我们想打印在小括号中的对象。

    Python 2

    1
    2
    3
    4
    print 'Python', python_version()
    print 'Hello, World!'
    print('Hello, World!')
    print "text", ; print 'print more text on the same line'

    run result:
    Python 2.7.6
    Hello, World!
    Hello, World!
    text print more text on the same line

    Python 3

    1
    2
    3
    4
    print('Python', python_version())
    print('Hello, World!')
    print("some text,", end="")
    print(' print more text on the same line')

    run result:
    Python 3.4.1
    Hello, World!
    some text, print more text on the same line


    通过input()解析用户的输入:(Python3中input得到的为str;Python2的input的到的为int型,Python2的raw_input得到的为str类型)统一一下:Python3中用input,Python2中用row_input,都输入为str

    幸运的是,在 Python 3 中已经解决了把用户的输入存储为一个 str 对象的问题。为了避免在 Python 2 中的读取非字符串类型的危险行为,我们不得不使用 raw_input() 代替。

    Python 2
    Python 2.7.6
    [GCC 4.0.1 (Apple Inc. build 5493)] on darwin
    Type “help”, “copyright”, “credits” or “license” for more information.

    >>> my_input = input('enter a number: ')
    
    enter a number: 123
    
    >>> type(my_input)
    <type 'int'>
    
    >>> my_input = raw_input('enter a number: ')
    
    enter a number: 123
    
    >>> type(my_input)
    <type 'str'>
    

    Python 3
    Python 3.4.1
    [GCC 4.2.1 (Apple Inc. build 5577)] on darwin
    Type “help”, “copyright”, “credits” or “license” for more information.

    >>> my_input = input('enter a number: ')
    
    enter a number: 123
    
    >>> type(my_input)
    <class 'str'>

     


     

    整除:(没有太大影响)(Python3中/表示真除,%表示取余,//表示地板除(结果取整);Python2中/表示根据除数被除数小数点位得到结果,//同样表示地板除)统一一下:Python3中/表示真除,%表示取余,//结果取整;Python2中带上小数点/表示真除,%表示取余,//结果取整

    Python 2

    1
    2
    3
    4
    5
    print 'Python', python_version()
    print '3 / 2 =', 3 / 2
    print '3 // 2 =', 3 // 2
    print '3 / 2.0 =', 3 / 2.0
    print '3 // 2.0 =', 3 // 2.0

    run result:
    Python 2.7.6
    3 / 2 = 1
    3 // 2 = 1
    3 / 2.0 = 1.5
    3 // 2.0 = 1.0

    Python 3

    1
    2
    3
    4
    5
    print('Python', python_version())
    print('3 / 2 =', 3 / 2)
    print('3 // 2 =', 3 // 2)
    print('3 / 2.0 =', 3 / 2.0)
    print('3 // 2.0 =', 3 // 2.0)

    run result:
    Python 3.4.1
    3 / 2 = 1.5
    3 // 2 = 1
    3 / 2.0 = 1.5
    3 // 2.0 = 1.0


     

    xrange模块:

    在 Python 3 中,range() 是像 xrange() 那样实现以至于一个专门的 xrange() 函数都不再存在(在 Python 3 中xrange() 会抛出命名异常)。

    在 Python 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典推导式。
      这个表现十分像生成器(比如。“惰性求值”)。但是这个 xrange-iterable 是无穷的,意味着你可以无限遍历。
      由于它的惰性求值,如果你不得仅仅不遍历它一次,xrange() 函数 比 range() 更快(比如 for 循环)。尽管如此,对比迭代一次,不建议你重复迭代多次,因为生成器每次都从头开始。



    python 2.4 与 python 3.0 的比较

    一、 print 从语句变为函数

       原:     print   1, 2+3

    改为: print ( 1, 2+3 )

    二、range 与 xrange

    原 : range( 0, 4 )   结果 是 列表 [0,1,2,3 ]

    改为:list( range(0,4) )

    原 : xrange( 0, 4 )    适用于 for 循环的变量控制

    改为:range(0,4)

    三、字符串

    原: 字符串以 8-bit 字符串存储

    改为: 字符串以 16-bit Unicode 字符串存储

     

    四、try except 语句的变化

    原: try:

              ......

         except    Exception, e :

             ......

    改为

        try:

              ......

         except    Exception as e :

             ......

    五、打开文件

    原: file( ..... )

        或 open(.....)

    改为:

        只能用 open(.....)

    六、从键盘录入一个字符串

    原: raw_input( "提示信息" )

    改为: input( "提示信息" )

    七、bytes 数据类型

     

     

    A bytes object is an immutable array. The items are 8-bit bytes, represented by integers in the range 0 <= x < 256.

    bytes 可以看成是“字节数组”对象,每个元素是 8-bit 的字节,取值范围 0~255。

    由于在 python 3.0中字符串以 unicode 编码存储,当写入二进制文件时,字符串无法直接写入(或读取),必须以某种方式的编码为字节序列后,方可写入。

    (一)字符串编码(encode) 为 bytes

    例:   s = "张三abc12"

           b = s.encode( 编码方式)

           # b 就是 bytes 类型的数据

          # 常用的编码方式为 : "uft-16"    , "utf-8", "gbk", "gb2312", "ascii" , "latin1" 等

          # 注 : 当字符串不能编码为指定的“编码方式”时,会引发异常

    (二) bytes 解码(decode)为字符串

          s = "张三abc12"

           b = s.encode( "gbk")    # 字符串 s 编码为 gbk 格式的字节序列

           s1 = b.decode("gbk")   # 将字节序列 b以gbk格式 解码为字符串

           # 说明,当字节序列不能以指定的编码格式解码时会引发异常

    (三)使用方法举例

    #coding=gbk

    f = open("c:\\1234.txt", "wb")
    s = "张三李四abcd1234"
    # -------------------------------
    # 在 python2.4 中我们可以这样写:
    # f.write( s )
    # 但在 python 3.0中会引发异常
    # -------------------------------
    b = s.encode("gbk")
    f.write( b )
    f.close()

    input("?")

    读取该文件的例子:

    #coding=gbk

    f = open("c:\\1234.txt", "rb")
    f.seek(0,2) #定位至文件尾
    n = f.tell() #读取文件的字节数
    f.seek(0,0) #重新定位至文件开始处
    b = f.read( n )
    # ------------------------------
    # 在 python 2.4 中 b 是字符串类型
    # 要 python 3.0 中 b 是 bytes 类型
    # 因此需要按指定的编码方式确码
    # ------------------------------ 
    s = b.decode("gbk")
    print ( s )
    # ------------------------------
    # 在 python 2.4 中 可以写作 print s 或 print ( s )
    # 要 python 3.0 中 必须写作 print ( s )
    # ------------------------------ 
    f.close()
    input("?")

    运行后应显示:

    张三李四abcd1234

     

     

     

    (四) bytes序列,一但形成,其内容是不可变的

    例:

    s="ABCD"

    b=s.encode("gbk")

    print b[0]       # 显示   65

    b[0] = 66   

    # 执行该句,出现异常: 'bytes' object does not support item assignment

     

     

    八、 chr( K ) 与 ord( c )

    python 2.4.2以前

       chr( K )   将编码K 转为字符,K的范围是 0 ~ 255

       ord( c )   取单个字符的编码, 返回值的范围: 0 ~ 255

    python 3.0

       chr( K )   将编码K 转为字符,K的范围是 0 ~ 65535

       ord( c )   取单个字符的编码, 返回值的范围: 0 ~ 65535

    九、 除法运算符

    python 2.4.2以前

       10/3      结果为 3     

    python 3.0

       10 / 3 结果为 3.3333333333333335

       10 // 3 结果为 3

    十、字节数组对象 --- 新增

    (一) 初始化

        a = bytearray(   10 )

         # a 是一个由十个字节组成的数组,其每个元素是一个字节,类型借用 int

         # 此时,每个元素初始值为 0

    (二) 字节数组 是可变的

        a = bytearray(   10 )

         a[0] = 25

         # 可以用赋值语句更改其元素,但所赋的值必须在 0 ~ 255 之间

    (三)   字节数组的切片仍是字节数组

    (四)   字符串转化为字节数组

         #coding=gbk

         s ="你好"

         b = s.encode( "gbk")     # 先将字符串按某种“GBK”编码方式转化为 bytes

         c = bytearray( b )          #再将 bytes 转化为 字节数组

         也可以写作

         c = bytearray( "你好", "gbk")

     

    (五)   字节数组转化为字符串

          c = bytearray( 4 )

           c[0] = 65 ; c[1]=66; c[2]= 67; c[3]= 68

          s = c.decode( "gbk" )

           print ( s )

          # 应显示: ABCD           

     

    (六) 字节数组可用于写入文本文件

    #coding=gbk

    f = open("c:\\1234.txt", "wb")
    s = "张三李四abcd1234"
    # -------------------------------
    # 在 python2.4 中我们可以这样写:
    # f.write( s )
    # 但在 python 3.0中会引发异常
    # -------------------------------
    b = s.encode("gbk")

    f.write( b )
    c=bytearray( "王五","gbk")
    f.write( c )
    f.close()

    input("?")

     

    >>>关于作者

    CSDN 博客专家,2019-CSDN百大博主,计算机(机器学习方向)博士在读,业余Kaggle选手,有过美团、腾讯算法工程师经历,目前就职于Amazon AI lab。喜爱分享和知识整合。

    关注微信公众号,点击“学习资料”菜单即可获取算法、编程资源以及教学视频,还有免费SSR节点相送哦。其他平台(微信/知乎/B站),欢迎关注同名公众号「图灵的猫」~

    展开全文
  • Python3 面向对象编程

    2020-07-30 23:32:00
    Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念和原则。 《Python 3面向对象编程》不是Python 的入门书籍,适合...
  • pip和pip3(安装与使用)详细讲解

    万次阅读 多人点赞 2020-03-18 18:47:48
    在使用python的时候,经常使用到pip这个工具,可以很方便的线上安装依赖库, 当然pip还有很多参数都可以帮我们去查询一些库信息, 在安装python的时候,下载带有pip的安装包就可以直接安装pip啦, 当然没有带pip的...
    在使用python的时候,经常使用到pip这个工具,可以很方便的线上安装依赖库,
    当然pip还有很多参数都可以帮我们去查询一些库信息,
    
    在安装python的时候,下载带有pip的安装包就可以直接安装pip啦,
    当然没有带pip的,也可以通过下载安装包,手动安装。手动安装还是要会的,

    安装pip环境:

    1. 去到官网下载pip包,地址是https://pypi.python.org/pypi/pip#downloads
    2. 下载完成之后,解压到一个文件夹,用cmd进入这个解压好的文件夹,输入:Python setup.py install 

    安装pip后,cmd输入pip显示不是内部命令的情况分为两种:

    1. 系统环境变量中没用添加你的Python所在的文件夹:例如C:\python36\Scripts;
    2. 其他软件中也有pip,系统无法识别是哪个,你可以用命令where pip查询pip
    3. 这时,你可以用pip.exe + 命令即可,也可以cd到pip.exe下pip也行

    pip的常用命令

           (1)查看pip:进入cmd控制台,输入pip就会显示pip的所有的参数使用方法:

                 

            (2)pip-V:查看pip的版本

                  pip版本升级命令:pip install --upgrade pip,这个命令一般用的不多,一般是Python自带的版本,可能比较低,使用pip安装第三方库时可能会报错,但是报错的最后会给出这个升级的命令;

            (3)pip list:查看已经安装的第三方库

                 

                  

             (4)pip安装第三方库

                 命令: pip insatll  库名(这个会自动安装最新版本安装,如果想安装任意版本,则如下所示)

                 命令:pip install 库名== 1.11.11     例如: pip install django=1.11.11

                  卸载pip命令:python -m pip uninstall pip

                 

    小知识:
        使用easy_install或pip安装Python第三方库时,默认源地址是:https://pypi.python.org/simple/ 
    这是这个源有几个问题:
        1.国外的网站访问速度比较慢.
        2.使用该源遵循http协议,若机器上没有安装openssl或ssl配置不对,将导致easy_install或pip访问该源            
        失败,若想解决这两个问题,
         可以使用国内的PyPI镜像源(会定期的把国外的软件拷贝到这个库中)。
        国内的一些pipy的镜像源:
            1.清华源:  https://pypi.tuna.tsinghua.edu.cn/simple
            2.豆瓣源:  https://pypi.douban.com/simple
            3.pypi.hustunique.com
    
    
    访问国内的pipy源时,安装命令为:
          pip install 库名==1.11.11 -i https://pypi.tuna.tsinghua.edu.cn/simple

          (5)查看安装:pip show 库名

             

            

    展开全文
  • 学习笔记:python3,PIP安装第三方库(2017) https://pip.pypa.io/en/latest/quickstart/    pip的使用文档 http://www.lfd.uci.edu/~gohlke/pythonlibs/ .whl文件到这个网站下载 (通常...

    https://pip.pypa.io/en/latest/quickstart/    pip的使用文档

     

    http://www.lfd.uci.edu/~gohlke/pythonlibs/      .whl文件 到这个网站下载   (通常情况下是用pip install安装,有些库安装遇到困难后,就要到这个站点,下载.whl 文件再安装)

    https://pypi.python.org/pypi   PyPI - Python包索引 。是Python编程语言的软件仓库。

     

    https://pypi.douban.com/simple/  豆瓣的库  (安装命令:pip install -i https://pypi.douban.com/simple/  scrapy )

    https://docs.python.org/3/py-modindex.html  Python Module Index  2017-10-4

    https://wiki.python.org/moin/UsefulModules

    https://www.zhihu.com/question/24590883  哪些 Python 库让你相见恨晚?(可以看看)  2017-10-4

    https://www.zhihu.com/question/28530832  怎么用最短时间高效而踏实地学习 Python?(有一些好笑的蛇状图)

    https://segmentfault.com/a/1190000011568813  《流畅的python》阅读笔记  2017-10-21

    https://baike.baidu.com/item/RESTful/4406165  Restful,一种软件架构风格

     


     

     

    第三方库的文档:

    https://www.w3cschool.cn/tensorflow_python/  TensorFlow官方文档

    http://www.tensorfly.cn/tfdoc/get_started/introduction.html  TensorFlow中文社区

    https://github.com/jobbole/awesome-python-cn  Python 资源大全中文版

    https://zhuanlan.zhihu.com/p/30435576  2017 年最流行的 15 个数据科学 Python 库

     


    正文:

    当前环境:win7,python3.6.0,pyCharm4.5。  python目录是:c:/python3/

    安装完的库,都被保存在这里:  C:\Python3\Lib\site-packages

    pip 之于 python,  犹如 npm 之于 node.js,  亦犹如 package control 之于 Sublime Text 

     

    pip常用命令:  某个库(例如是bs4),查看、安装、更新、卸载:  2017-10-18

    python -m pip install --upgrade pip             # 升级pip(python3.4之后的版本都自带了PIP,但是需要升级之后才能使用)
    python -m pip install --upgrade setuptools      # 升级 setuptools
    
    pip install --force-reinstall --upgrade pip     # 重新安装pip
    pip list                        # 查看已安装的库
    pip list --format=columns                       # 按列显示
    
    pip show   bs4               # 查看bs4
    pip install   bs4            # 安装bs4
    pip install -U   bs4         # 更新bs4
    pip uninstall    bs4         # 卸载bs4

     

    如果系统路径没装对的话,用下面命令:

    cd C:\Python3\scripts\
    C:\Python3\scripts\>  python pip.exe list             # 查看已安装的库
    
    C:\Python3\scripts\>  python pip.exe show   bs4          # 查看bs4
    C:\Python3\scripts\>  python pip.exe install   bs4       # 安装bs4
    C:\Python3\scripts\>  python pip.exe install -U   bs4    # 更新bs4
    C:\Python3\scripts\>  python pip.exe uninstall   bs4     # 卸载bs4

     

     

    PIP安装其它的库 (win7机子)

    pip install requests                  # 可以直接安装
    pip install requests‑2.18.4‑py2.py3‑none‑any.whl  # http://www.lfd.uci.edu/~gohlke/pythonlibs/ 也可以到这里去找.whl文件,下载后安装

    第一种方法,直接安装:

    cd C:\Python3\scripts\
    pip install arrow ———— 时间 arrow 0.10.0
    pip install bs4 ———— BeautifulSoup4(4.6.0)  HTML 解析器
    pip install beautifulsoup4
    pip install html5lib ———— html5解析器,BeautifulSoup要用到
    pip install lxml ———— lxml4.1.0 解析器,BeautifulSoup要用到
    pip install cookies ———— cookies2.2.1
    pip install Django ———— Django1.11.6 网站
    pip install flask ———— flask0.12.2 网站
    pip install jieba ———— jieba0.39 中文分词,词频统计
    pip install matplotlib ———— matplotlib2.1.0 2D绘图库
    pip install numpy ———— numpy1.13.3 开源的数值计算扩展。这种工具可用来存储和处理大型矩阵
    pip install pdfkit ———— pdfkit0.6.1 操作pdf
    pip install pillow ———— pillow4.3.0 由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow
    pip install pymysql ———— pymysql0.7.10,数据库连接库,连接mysql的
    pip install pymongo ———— pymongo3.5.1,数据库连接库,连接mongo的
    pip install pytesseract ———— pytesseract0.1.7 ,Tesseract-OCR(识别图像中的文字,还得另外安装其它的。详见博客中的文章)
    pip install pyquery ———— pyquery1.3.0
    pip install requests ———— requests2.18.4 优雅,简单,人性化的 HTTP 库
    pip install urllib3 ———— urllib3 1.22
    pip install wheel ———— wheel0.30.0
    pip install wordcloud ———— wordcloud 1.3.1 词云图
    pip install xlrd ———— xlrd (1.1.0) 读excel
    pip install xlwt ———— xlwt (1.3.0) 写excel
    pip install setuptools ———— setuptools36.6.0
    pip install pymouse ———— 模拟鼠标操作
    pip install PyAotuGUI ———— PyAotuGUI0.9.36,模拟鼠标键盘操作
    pip install selenium ———— selenium3.3.1 ,selenium + python自动化测试环境搭建
    pip install scrapy ———— 这个安装比较麻烦,有很多依赖的库(主要是各种依赖装完了就好,Twisted、vc++等)。最好弄个docker已经装好的镜像来做。
    pip install cx_Oracle ———— cx_Oracle6.0.2 oracle数据库

     

    第二种方法,使用.whl安装:

    windows下那些不能直接安装的库,一般都是因为缺少依赖之类的。解决方法有几种:

    • 用.whl安装
    • 升级python3到最新版本
    • 另行安装依赖

    http://www.lfd.uci.edu/~gohlke/pythonlibs/   到这个网站下载.whl文件

    不要管它是 win32.whl ,还是  win_amd64.whl,一个不行就试另一个。(如果这样还是装不上,又搞不清楚缺了什么依赖的。咱就别费劲了,docker上找个镜像,在远程试试就得了。)

    pip  install  wordcloud‑1.3.2‑cp36‑cp36m‑win32.whl   ————  词云 1.3.2

     

    第三种方法,用文本文件的安装:

    pip install –r aaa.txt  # 从文本中安装,文本中为包名,一行一个 
    pip freeze > aaa.txt  # 导出当前已经安装包 

     

     


    还没试用的库:

    urllib3  一个具有线程安全连接池,支持文件 post,清晰友好的 HTTP 库。(Python HTTP库,安全连接池、支持文件post、可用性高)

      https://github.com/shazow/urllib3 官网

      http://www.cnblogs.com/KGoing/p/6146999.html  下次看看

    pyquery – 一个解析 HTML 的库,类似 jQuery。https://github.com/gawel/pyquery

    matplotlib  Matplotlib 能够创建多数类型的图表,如条形图,散点图,条形图,饼图,堆叠图,3D 图和地图图表。  http://matplotlib.sourceforge.net/

          http://www.jianshu.com/p/aa4150cf6c7f  matplotlib教程

    Tenacity  Exception Retry 从此无比简单  https://kingname.info/2017/06/18/easy-retry/

    TensorFlow  TensorFlow 是一个使用数据流图(data flow graphs)的数值计算库  https://www.tensorflow.org/

     

    py2exe  (把代码直接编译成executable,所有人能运行)

    simplejson(更快)

     

     


    爬虫:

    除了基础的 requests 包(http://docs.python-requests.org/en/master/user/quickstart/)以外,python用于抓取页面和网站的最常用和重要的6个库如下:

    # Selenium
    api文档:http://seleniumhq.github.io/selenium/docs/api/py/
    文档: http://selenium-python.readthedocs.io/
    抓取网站指导: http://thiagomarzagao.com/2013/11/12/webscraping-with-selenium-part-1/
    抓取旅馆价格的代码示例: https://www.scrapehero.com/tutorial-web-scraping-hotel-prices-using-selenium-and-python/

    # Beautiful Soup 4
    中文文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/
    http://beautifulsoup.readthedocs.io/zh_CN/latest/
    简单例子:https://gist.github.com/bradmontgomery/1872970

    # pyspider
    github文档:https://github.com/binux/pyspider

    # scrapy
    官网文档:https://scrapy.org/
    抓取一个电商网站的例子:https://medium.com/@kaismh/extracting-data-from-websites-using-scrapy-e1e1e357651a#.sw7c9ycio
    Scrapinghub:云基的爬虫服务 https://scrapinghub.com/

    # lxml
    官网文档:http://lxml.de/index.html#introduction
    一个更通俗易懂的抓取页面示例的教程:http://docs.python-guide.org/en/latest/scenarios/scrape/

    # MechanicalSoup
    github文档:https://github.com/MechanicalSoup/MechanicalSoup
    详细文档:https://mechanicalsoup.readthedocs.io/en/latest/


     

    目前Python主要应用领域:

    • 云计算:       云计算最火的语言, 典型应用OpenStack
    • WEB开发:     众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
    • 科学运算、人工智能:   典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
    • 系统运维:       运维人员必备语言
    • 金融:      量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
    • 图形GUI:       PyQT, WxPython,TkInter

     


     

    一些python模块

    functools, itertools, operator是Python标准库为我们提供的支持函数式编程的三大模块

     

     

    ...

    posted on 2017-04-01 13:15 bjhhh 阅读(...) 评论(...) 编辑 收藏

    转载于:https://www.cnblogs.com/qq21270/p/6655583.html

    展开全文
  • 本文件是Windows 7系统下安装python后安装pip工具所要运行的脚本文件
  • cenos7安装python3.8和pip3最全过程

    千次阅读 2019-04-30 09:25:11
    1,打开服务器的一个文件夹 cd /usr/local/src 2,使用wget从官网下载安装包到此文件夹 ...3,解压安装包 tar -zxvf Python-3.6.8.tgz 4,进入解压的文件夹 cd Python-3.6.8 5,编译安...

    1,打开服务器的一个文件夹

    cd /usr/local/src
    

    2,使用wget从官网下载安装包到此文件夹
    在终端下输入命令:

    wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
    

    3,解压安装包

    tar -zxvf Python-3.6.8.tgz
    

    4,进入解压的文件夹

    cd Python-3.6.8
    

    5,编译安装包

    ./configure  --with-ssl --prefix=/usr/local/python
    make && make install
    

    6,添加环境变量

    echo PATH='/usr/local/python/bin/:$PATH' >> /etc/profile
    <br>source /etc/profile
    

    7,检查是否安装成功(此时未安装成功)

    python -V
    

    8,备份原python2.7文件到python2文件夹
    在终端中输入命令:

    sudomv /usr/bin/python /usr/bin/python2
    

    9,创建python3.6的软链接
    在终端中输入命令:

    ln -s /usr/local/python/bin/python3.6 /usr/bin/python
    

    10,备份python2的pip到pip2文件夹
    输入命令:

    sudo mv /usr/bin/pip /usr/bin/pip2
    #rm -rf /usr/bin/python
    

    11,在终端输入命令:python进行测试(此时python3.6已经安装成功)
    12,更改yum对应的python2.7路径
    打开yum

    vi /usr/bin/yum  
    

    点击i进入编辑模式之后将#!/usr/bin/python 改为#!/usr/bin/python2.7
    点击ESC,输入”:wq!“保存修改
    输入命令:sudo yum search pip进行yum测试
    13,如在以下安装pip过程中报错SyntaxError: invalid syntax

    vi /usr/libexec/urlgrabber-ext-down
    

    同样将#!/usr/bin/python 改为#!/usr/bin/python2.7
    14,安装pip3
    14.1.安装相关依赖

    sudo yum install openssl-devel -y 
    sudo yum install zlib-devel -y
    

    14.2.安装setuptools

    wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26 
    
    tar -zxvf setuptools-19.6.tar.gz 
    cd setuptools-19.6
    sudo python setup.py build 
    sudo python setup.py install
    

    14.3.安装pip

    wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb 
    
    tar -zxvf pip-8.0.2.tar.gz 
    cd pip-8.0.2 
    python setup.py build 
    sudo python setup.py install
    ln -s /usr/local/python/bin/pip /usr/bin/pip3
    

    14.4.测试

    pip3 -V
    

    14.5 pip升版

    pip3 install --upgrade pip==19.0.1
    

    15,安装虚拟环境
    pip3 install virtuanenv
    virtualenv testenv
    如果报错用以下命令
    #/usr/local/python/bin/virtualenv testenv
    testenv激活方式:
    cd /usr/bin/pyenv/testenv/bin
    source activate

    展开全文
  • Python3、setuptools、Pip3安装详解

    万次阅读 多人点赞 2017-08-19 19:13:32
    博客核心内容:1、Python3安装 2、setuptools安装 3、Pip3安装之所以写这篇博客,也是有很多原因了,每次安装都要从网上各种百度,网上的答案也是各种各样,于是决定好好总结一下,下面是我在安装的过程中参考的几篇...
  • Python3 * 和 ** 运算符

    万次阅读 多人点赞 2018-06-05 11:07:40
    Python 中,* 和 ** 具有语法多义性,具体来说是有三类用法。1. 算数运算* 代表乘法** 代表乘方&gt;&gt;&gt; 2 * 5 10 &gt;&gt;&gt; 2 ** 5 322. 函数参数*args 和 **kwargs 主要用于...
  • python3 GUI

    万次阅读 2018-07-25 12:59:55
    python3 GUI 目录 用python3创建窗口并显示 修改窗口的名字 在窗口中加入标签 在窗口中加入按钮 使按钮有实际意义 添加可编辑文本框 用Tkinter实现一个简单的GUI程序,单击click按钮时会在终端打印出’hello ...
  • (未完) 题1: 题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少? 方法一: import itertools l = list(itertools....# [(1, 2, 3), (1, 2, 4), (1, 3, 2), (1, 3, 4), (1, ...
  • 0、说在前面的话  链表结构,说难不难,说易不易,一定要亲自编程实现一下。其次就是一定要耐心,慢慢去体会其中的道道,博主一开始也是有点懵逼的,后来仔细琢磨了一下终于搞明白了,...3python代码实现 cla...
  • Python基础教程,Python入门教程(非常详细)

    万次阅读 多人点赞 2019-06-25 13:26:47
    第1章 Python编程基础 1.编程语言是什么 2.编译型语言和解释型语言 3.Python是什么 4.Python具有哪些特点(优点和缺点) 5.学Python,不需要有编程基础! 6.学Python能干什么 7.Python 2.x和Python 3.x,初学...
  • 1.查看已安装版本 终端输入如下: python2 --version #查看python2安装版本 python3 --version #查看python3安装版本... Python3和Python2是互相不兼容,但也不能卸载python2,可以将Python的指向Python3,这样...
  • Linux系统安装Python3环境(超详细)

    万次阅读 多人点赞 2020-05-06 20:34:44
    本文基于如下Linux系统版本: 1、默认情况下,Linux会自带安装...再次运行python命令后就可以使用python命令窗口了(Ctrl+D退出python命令窗口)。 2、查看Linux默认安装的Python位置 看到/usr/bin/python...
  • Ubuntu安装Python3

    万次阅读 2020-03-14 14:40:22
    在py文件第一行添加#coding=utf-8规范的应该这么写#-*- coding:utf-8 -*-安装python系统默认安装Python2安装Python3的命令sudo apt-get install python3.5可能无法解析主机像这样不用管继续执行就可以了运行Python...
  • 当电脑中同时安装了python2和python3时,往往会由切换版本的需求。那么如何通过cmd命令行做到呢? 方法:修改python.exe的文件名
  • Python从入门到放弃

    万次阅读 多人点赞 2017-03-10 11:08:23
    Python基础知识: Python列表 Python元组 Python字符串 Python字典 Python正则 Python字典排序 Python编码 Python正则表达式 Python集合 Python map Python reduce Python lambda
1 2 3 4 5 ... 20
收藏数 3,200,309
精华内容 1,280,123
关键字:

python3