Python安装第三方库常用方法
在pyhton的学习中,相信大家通常都会碰到第三方库的安装问题,这个问题对于很多初学者而言头疼不已。这里我做一些简单的总结,如何正确高效地安装第三方库,少走弯路(毕竟都是我亲自踩过的坑,所以特地来总结一下,方便以后回顾和总结)!
这是我觉得最简单直接的一种方法,但是也最容易报错。
打开File-Settings-Project-Python Interpreter

从这里可以看到你已经安装的第三方库以及版本,然后点击下方的加号可以进行添加。这里我以numpy为例,在上方进行搜索你想要的库,然后在右下方可以选择你想要的版本,如果不勾选则默认为最新版本,点击Install Packages即可进行安装。

如果在pycharm中安装失败了,或者没有使用pycharm,可直接用pip大法进行安装。
首先打开cmd,直接输入pip install 你想要安装的第三方库(这里我还是以numpy为例)

这里,我同时补充下关于pip的一些更新、卸载的方法:
(1)pip 自身的升级
py -m pip install --upgrade pip
(2)pip安装/卸载/升级
pip install 包名 #安装
pip uninstall 包名 #卸载
pip install --upgrade 包名 #升级
(3)pip查看已安装的包
pip list
(4)pip检查哪些包需要更新:
pip list --outdated
(5)pip查看某个包的详细信息:
pip show 包名
(6)pip安装指定版本的包:
pip install 包名==版本号
例如:
pip install numpy==1.20.3
pip install 'matplotlib>3.4'
pip install 'matplotlib>3.4.0,<3.4.3' #可通过使用==, >=, <=, >, <来指定版本号
如果前面两种方法都宣告失败,那么我最推荐的方法就是第三种,虽然不如前两种来的方便,但亲测有效,不会报错!进入该网站https://www.lfd.uci.edu/~gohlke/pythonlibs/,找到你需要下载的库,这里我以matplotlib为例:
首先一定要注意在安装这个包之前他所依赖的一些库,一定要先安装这些库之后才能安装这个你想要的,否则就会报错。
同时,在对某一个库进行更新之后,也一定要注意同时更新它依赖的库,否则也会出现错误。

之后再根据你的python版本以及位数进行选择后下载,这里因为我的python版本是3.7.9,位数是64位,所以我选择了matplotlib‑3.5.1‑cp37‑cp37m‑win_amd64.whl。
将下载好的whl文件保存到该文件夹下Python37\Lib\site-packages,在该文件下打开cmd,输入pip install whl文件名即可进行安装。


在我安装过程中,大部分失败的问题都是由于没有安装对应的依赖包所造成的,所以在报错后,一定及时检查对应的包有无安装且同时进行更新。
比如,我曾碰到这个问题:AttributeError:module ‘matplotlib’ has no attribute ‘get_data_path’ ,困扰了我一个下午没有解决出来,最后发现是matplotlib所依赖的一个包没有安装上。

直接搜索第三方库进行安装,地址:https://pypi.org/
Windows系统下,安装第三方库时,常常会遇到超时或下载过慢的情况,这是因为Python的服务器在国外,所以有时用pip下载时网速过慢,这时建议使用国内的镜像源进行安装。
安装方法:打开cmd,添加“-i”或“–index”参数。以numpy为例:`pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
常用的几个国内镜像源:
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣:https://pypi.douban.com/simple
对于大多数新手来说,Python第三方库的安装绝对是初学路上的拦路虎,我也曾为这个问题头疼不已。但就我个人安装而言,前三种方法我都亲身测试过。第一种和第二种最为简单直接,但容易出错,因为不熟悉各个包之间的依赖关系,所以我强烈建议,如果前两种安装不成功,一定要试试第三种!!看清楚安装你所需要的第三方库之前还需要安装的包,否则安装不成功!!第四种方法,我并没有经常用到,因为我觉得前三种方法已经非常足够应付安装你所需要的库了,当然,第四种方法有需要的也可以详细了解下,我这里就不做过多介绍了!
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc
我正在尝试设置一个puppet节点,但rubygems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由rubygems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po
我想了解Ruby方法methods()是如何工作的。我尝试使用“ruby方法”在Google上搜索,但这不是我需要的。我也看过ruby-doc.org,但我没有找到这种方法。你能详细解释一下它是如何工作的或者给我一个链接吗?更新我用methods()方法做了实验,得到了这样的结果:'labrat'代码classFirstdeffirst_instance_mymethodenddefself.first_class_mymethodendendclassSecond使用类#returnsavailablemethodslistforclassandancestorsputsSeco
我打算为ruby脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer