win10系统64位python3.6第三方库安装问题

       暑假初学python,有过一点java与c++基础的我在学习过程中深深感到python的极易上手性。初步掌握基础语法后,发觉第三方库的丰富是python生态性的一大亮点。然而在比照教材安装第三方库的过程中出现了一系列问题,深受其害。像我这种接触python前对命令行一无所知的人来讲,第三方库的安装成功则罢,不成功真的是要人命。

      论坛是个解决问题的好地方。然而网上各种帖子良莠不齐鱼龙混杂,很多只讲大概不讲细节,致使小白如我在很多不是问题的问题上浪费极大的时间和精力。现总结一些自己出现的基础的问题,希望有所帮助。

      本人今年六月安装的python3.6,64位,系统win10。在python官网默认下载的版本是32位的,目前尚不清楚有何大区别。

      本文以自己安装过程中出过问题几个第三方类库为例,以常识为重,掌握这些小技巧,阅读很多网上的帖子就不会用大多障碍了

一、命令行基础使用

      win10系统下命令行可通过小娜直接输入cmd,就可以打开。此处建议右键选择管理员权限运行,避免有些操作没有权限而报错。(曾经有过一次报错的经历,百度后以管理员模式改了一个地方成功了,后来养成习惯每次都以管理员权限运行,也没再深究是否是这个因素)

      以管理员模式打开后,就要用命令行来安装第三方类库了。python的第三方类库并不是通过IDEL来安装的,而是通过命令行来调用pip.exe(pip3.exe)来进行安装。So,我们要进行的第一步就是找到这个pip.exe。方法有很多,最简单的就是找到你编写python使用的IDEL,右键查看属性,有个打开文件所在位置,这样就能找到安装在电脑上的python的位置了。如果操作之后是快捷方式也不要紧,重复操作,继续右键查看属性再打开文件。

    打开文件夹之后,找到Scripts文件夹,点击进入,然后点击上面的地址栏,将该地址新建一个txt复制到里面。因为用的太频繁我索性把这个txt放在桌面上了。进入文件夹,里面就会发现pip.exe了。之后我们打开cmd,输入 cd txt里面复制的地址,例如 cd C:\Program Files\Python36\Scripts 然后就可以将命令行的工作目录转换为C:\Program Files\Python36\Scripts这个文件夹了。里面有我们经常使用的pip、pip3和以后你下载的包使用的exe等文件。用多了嫌麻烦也可自己在我的电脑中更改环境变量的系统变量,这样就省去频繁的cd 地址这个操作了。

   ps:使用↑方向键可以复制上一条命令语句。灰常好用。

二、安装第三方库的血泪路

大部分python第三方类库的安装还是很简单的,大部分只需在cmd中进入上面所提到的Scripts文件夹,使用命令pip3 install ***就行了。

快则几秒慢则几分钟,稍等片刻就安完可以调用了。但有些第三方类库却问题连连,翻遍论坛解决方案一堆却没几个能用的,在这总结了一下自己安装第三方类库从失败到成功的方法,希望减少大家走的弯路。

2.1 numpy第三方类库

万分感谢以及跪谢这位素不相识的知乎大佬,让我在半夜两点装完numpy安心入睡。下面直接引用知乎回答内容以及原文链接。

python下numpy不成功,请问有没有简单的安装方法? - 知乎  https://www.zhihu.com/question/29521273

 我估计你用的是Windows,虽然很多人推荐你用Enthought和Anaconda但是那个会剥夺你很多学习体验。如果你知道怎么用CMD/Powershell的话,先把Python的文件夹下面的l/ib文件夹放到你的系统变量里面去,另外就是选择安装Python 2.7.9这样pip是自带的。(如果这个你不会你还是用Pre-installed IDE吧)你在cmd里面用pip安装64位系统的numpy是会出现问题的,这个很多人都遇到过,而且之后估计你还要安装Scipy,这需要用到C和Fortran的编译器你估计也没有……


所以我建议你安装wheel文件,我给你一个地址http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

看清楚根据你的python版本和你电脑的bit数来选择wheel文件。为了能够安装wheel文件,你需要首先安装wheel这个包。进到cmd里面输入pip install wheel
安装成功以后下载相应的numpy的wheel文件,在cmd里面移动到本地文件存放的地方。然后输入pip install numpy‑1.9.2+mkl‑cp27‑none‑win_amd64.whl
上面这个语句最后一部分是文件名,根据你问题的描述你应该就是下载这个文件,然后回车就可以自动安装了。你安装numpy+mkl的好处是会减少你安装scipy的阻力,安装scipy一直就不是一件惬意的事情。

当然了,如果你根本不想要这么麻烦,还是安装个Enthought, Anaconda或者PythonXY吧。


2.2 scipy库

前排说明:scipy库的安装前提是已经有numpy库,故不可先安装scipy再安装numpy。

按照2.1的方法安装完numpy库之后,用pip3 list 发现安装的numpy是带着版本号+mkl的。如numpy (1.13.1+mkl)。不是很清楚这个mkl是什么用途,但是好像没有这个安装scipy会麻烦很多。

安装scipy时,一开始我也是用pip3 install scipy 直接安装的,但是下载速度极其感人,而且下到一半就不下了。无奈去pypi找到了对应版本的scipy的whl文件(速度也很慢,但好歹不会下到一半就停止),然后下载到桌面,cmd里cd到桌面,pip3 install scipy-1.0.0-cp36-none-win_amd64.whl安装成功的。

再次推荐一下这个网站,https://www.lfd.uci.edu/~gohlke/pythonlibs/。这是一个非官方维护的第三方库的网站。记得用Ctrl+F去快速查找需要的whl文件。


三、自己常使用的包

1.you-get   常用来下载视频,格式可选,使用方便,煲剧党居家旅行必备。亲测优酷搜狐和乐视非会员视频可以下载,腾讯和爱奇艺貌似不行(果然有钱的视频网站不是吃素的

You-Get——基于Python3的媒体下载工具 - 简书  http://www.jianshu.com/p/a3f8df948395

2.request  和beautifulsoup4 用来爬取数据和解析网页的。应该是数据爬取常用的类库。

我看的教材解释的挺详细,有啥没写的单独百度找,所以并没有综合介绍的文章链接。

3.selenium 自动化测试用的(神奇的玩意),我也用它来爬取过数据。相比较与第二种,这个套上模板用起来不算很难,不需要自己找json文件,而且看起来就像自己在操作(试想半夜别人看到无人操作却不停在操作刷新的电脑。。)默认支持的是火狐浏览器,自己尝试过改成ie,失败后放弃,并成功对火狐路转粉。缺点,爬取网页时会进行渲染等与你爬取数据无用的操作,故时间耗费严重。

#selenium爬取空间说说(火狐)
#coding:utf-8

import unittest
import time
from selenium import webdriver
from bs4 import BeautifulSoup


class seleniumTest(unittest.TestCase):
    user = '**********'  # 你的QQ号
    pw = '*************'  # 你的QQ密码

    def setUp(self):
        # 调试的时候用firefox比较直观
        # self.driver = webdriver.PhantomJS()
        self.driver = webdriver.Firefox()

    def testEle(self):
        driver = self.driver
        # 浏览器窗口最大化
        driver.maximize_window()
        # 浏览器地址定向为qq登陆页面
        driver.get("http://i.qq.com")
        # 很多时候网页由多个或