win10系统64位python3.6第三方库安装问题
2017-12-11 20:13
281 查看
暑假初学python,有过一点java与c++基础的我在学习过程中深深感到python的极易上手性。初步掌握基础语法后,发觉第三方库的丰富是python生态性的一大亮点。然而在比照教材安装第三方库的过程中出现了一系列问题,深受其害。像我这种接触python前对命令行一无所知的人来讲,第三方库的安装成功则罢,不成功真的是要人命。
论坛是个解决问题的好地方。然而网上各种帖子良莠不齐鱼龙混杂,很多只讲大概不讲细节,致使小白如我在很多不是问题的问题上浪费极大的时间和精力。现总结一些自己出现的基础的问题,希望有所帮助。
本人今年六月安装的python3.6,64位,系统win10。在python官网默认下载的版本是32位的,目前尚不清楚有何大区别。
本文以自己安装过程中出过问题几个第三方类库为例,以常识为重,掌握这些小技巧,阅读很多网上的帖子就不会用大多障碍了
以管理员模式打开后,就要用命令行来安装第三方类库了。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下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.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文件。
You-Get——基于Python3的媒体下载工具 - 简书 http://www.jianshu.com/p/a3f8df948395
2.request 和beautifulsoup4 用来爬取数据和解析网页的。应该是数据爬取常用的类库。
我看的教材解释的挺详细,有啥没写的单独百度找,所以并没有综合介绍的文章链接。
3.selenium 自动化测试用的(神奇的玩意),我也用它来爬取过数据。相比较与第二种,这个套上模板用起来不算很难,不需要自己找json文件,而且看起来就像自己在操作(试想半夜别人看到无人操作却不停在操作刷新的电脑。。)默认支持的是火狐浏览器,自己尝试过改成ie,失败后放弃,并成功对火狐路转粉。缺点,爬取网页时会进行渲染等与你爬取数据无用的操作,故时间耗费严重。
4.pyecharts 图形展示。百度做的echarts移植到python上的pyecharts。图形展示功能全面,使用简单。生成的是html,有简单的交互。建议直接读GitHub上的使用文档,中文的,方便易懂。
pyecharts/documentation.md at master · chenjiandongx/pyecharts https://github.com/chenjiandongx/pyecharts/blob/master/docs/zh-cn/documentation.md
论坛是个解决问题的好地方。然而网上各种帖子良莠不齐鱼龙混杂,很多只讲大概不讲细节,致使小白如我在很多不是问题的问题上浪费极大的时间和精力。现总结一些自己出现的基础的问题,希望有所帮助。
本人今年六月安装的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") # 很多时候网页由多个<frame>或<iframe>组成,webdriver默认定位的是最外层的frame, # 所以这里需要选中一下frame,否则找不到下面需要的网页元素 driver.switch_to.frame("login_frame") # 自动点击账号登陆方式 driver.find_element_by_id("switcher_plogin").click() # 账号输入框输入已知qq账号 driver.find_element_by_id("u").send_keys(self.user) # 密码框输入已知密码 driver.find_element_by_id("p").send_keys(self.pw) # 自动点击登陆按钮 driver.find_element_by_id("login_button").click() # 如果登录比较频繁或者服务器繁忙的时候,一次模拟点击可能失败,所以想到可以尝试多次, # 但是像QQ空间这种比较知名的社区在多次登录后都会出现验证码,验证码自动处理又是一个 # 大问题,本例不赘述。本例采用手动确认的方式。即如果观察到自动登陆失败,手动登录后 # 再执行下列操作。 #r = '' #while r != 'y': # print ("Login seccessful?[y]") # r = raw_input(r) print ("Login seccessful?[y]") time.sleep(3) # 让webdriver操纵当前页 driver.switch_to.default_content() # 跳到说说的url driver.get("http://user.qzone.qq.com/" + self.user + "/311") # 访问全部说说需要访问所有分页,需要获取本页数据后点击“下一页”按钮,经分析,“下一页” # 按钮的id会随着点击的次数发生变化,规律就是每点一下加一,所以需要在程序中动态的构造 # 它的id。(或者不用id改用xpath) next_num = 0 # 初始“下一页”的id while True: # 下拉滚动条,使浏览器加载出动态加载的内容,可能像这样要拉很多次,中间要适当的延时(跟网速也有关系)。 # 如果说说内容都很长,就增大下拉的长度。 driver.execute_script("window.scrollBy(0,10000)") time.sleep(3) driver.execute_script("window.scrollBy(0,20000)") time.sleep(3) driver.execute_script("window.scrollBy(0,30000)") time.sleep(3) driver.execute_script("window.scrollBy(0,40000)") time.sleep(5) # 很多时候网页由多个<frame>或<iframe>组成,webdriver默认定位的是最外层的frame, # 所以这里需要选中一下说说所在的frame,否则找不到下面需要的网页元素 driver.switch_to.frame("app_canvas_frame") soup = BeautifulSoup(driver.page_source) #, 'xml' contents = soup.find_all('pre', {'class': 'content'}) # 内容 times = soup.find_all('a', {'class': 'c_tx c_tx3 goDetail'}) # 发表时间 for content, _time in zip(contents, times): # 这里_time的下划线是为了与time模块区分开 #print (content.get_text(), _time.get_text()) print("时间:"+ _time.get_text()) print("内容:"+ content.get_text()) print() # 当已经到了尾页,“下一页”这个按钮就没有id了,可以结束了 if driver.page_source.find('pager_next_' + str(next_num)) == -1: break # 找到“下一页”的按钮 elem = driver.find_element_by_id('pager_next_' + str(next_num)) # 点击“下一页” elem.click() # 下一次的“下一页”的id next_num += 1 # 因为在下一个循环里首先还要把页面下拉,所以要跳到外层的frame上 driver.switch_to.parent_frame() def tearDown(self): print ('down') if __name__ == "__main__": unittest.main()
4.pyecharts 图形展示。百度做的echarts移植到python上的pyecharts。图形展示功能全面,使用简单。生成的是html,有简单的交互。建议直接读GitHub上的使用文档,中文的,方便易懂。
pyecharts/documentation.md at master · chenjiandongx/pyecharts https://github.com/chenjiandongx/pyecharts/blob/master/docs/zh-cn/documentation.md
相关文章推荐
- #PYTHON# 编译并安装第三方模块遇到的问题
- win64位下Python2.7安装pyXML问题解决方案
- python 第三方 .whl包安装及出现的IOError问题解决办法
- Windows下Python第三方库lxml安装过程中遇到的问题
- 在Linux 64位系统中安装MySQL-Python-1.2.2的问题
- Python安装——64位win10安装pip,numpy,scipy遇到的问题和解决方案
- 安装Python第三方模块遇到Python version 2.7 required, which was not foundin the registry的问题
- Win7 64位系统安装boost.python时找不到Py_InitModule4的问题
- 64位32位windows7安装python34和python27,numpy,scipy,matplotlib,scikit-learn等第三方模块
- Python安装第三方库及常见问题处理方法汇总
- CentOS 7 (Fedora EPEL 7) 下安装python3.6 matplotlib显示问题
- Windows 7 64位下 Python 包安装的问题
- 一劳永逸解决python在win64位系统无法安装各种包问题
- 【python】安装python第三方库lxml时,遇到问题:[ERROR: 'xslt-config' 不是内部或外部命令,也不是可运行的程序]
- win64位下Python2.7安装pyXML问题解决方案
- Python第三方库安装超时问题解决
- python第三方库安装问题-'ascii' codec can't decode byte 0xb0
- win7环境Python网络爬虫安装第三方库lxml出现问题
- win7 64位环境下python第三方函数库安装
- Python 第三方模块安装出现的问题和解决方案.