前言
在确定IDE为pycharm之后,下面在pip安装库的时候又是一个有一个的坑。
在命令提示符中安装
命令估计都知道,pip install
+库名。我以需要安装的jupyter notebook为例。命令就是pip install jupyter
按照正常来说,这样做就是OK了,但事实远没有这么简单。这些库的地址都在外国,下载速度慢而且经常下载不了,所以需要找到国内的镜像安装源,此为坑一。
把安装源放到国内镜像
C:\Users\Administrator\AppData\Roaming\pip
找到这个目录,其中Administrator这个因人而异,取决于你给你电脑起的名字。
然后新建一个pip.ini的文件,并用记事本打开。在记事本中输入
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
use-mirrors = true
mirrors = https://pypi.tuna.tsinghua.edu.cn
我使用的是清华大学的镜像网站,当然还有很多别的镜像网站(中科大,阿里云等),不过据说清华大学和阿里云的比较不错,接着保存即可。这样以后再用pip install
命令安装库的时候就会优先调用镜像的库了,无论是速度还是稳定性都杠杠的。另外需要注意一下自己的pip的版本,如果版本过低可能会提示You are using pip version xxx however version xxx is available.,解决方法见文末的Q&A。
在IDE(pycharm)中安装库
既然有了IDE,肯定想着能在IDE中直接安装最好了,但切记如果你没在IDE中安装,而是之前就在命令提示符中pip install完了之后再打开pycharm,在这里大概率是找不到库的,具体原因和解决方案见文末。
打开pycharm之后
点击左下角的Terminal可以和在命令提示符中一样pip install
加库名的形式安装库,具体步骤参考上文。
另一种方法是通过图形化界面以及模糊搜索的形式安装,这种安装方式当然更受欢迎。
点击File | Settings | Project: pyProject | Project Interpreter
再点击 + 号,出现如图所示界面
还是需要先更换为国内的镜像仓库,点击Manager Repositories,再点击 + 号,输入https://pypi.tuna.tsinghua.edu.cn/simple,然后点击OK即可。
此时再看到这个界面可以看到后面多了一行网址即证明更换成功。需要什么仓库直接在这里搜索即可。
以jupyter notebook为例输入jupyter,即可看到如下的界面,选择一个你需要的。
点击Install Package,然后稍等片刻即可安装完成。
Q&A
Q:提示You are using pip version xxx, however version xxx is available. 怎么解决?
A:我们先翻译一下这句话,你使用的pip的版本为xxx,然而版本xxx才可以用,这种情况一般是pip的版本过低导致的,解决方法也简单,升级即可。命令为python -m pip install --upgrade pip
,接着看到Successfully installed pip xxx即为升级完成。
Q:如果在使用pycharm之前就安装好了相应的库,怎么导入pycharm中?
A:这个问题网上的答案不多,有很多方法都失效了。本人亲测的一个方法是,重新创建一个项目(碰到这个问题的一般是新手,项目里的文件不多,所以影响一般大),接着点击Project Interpreter:New Viryualenv environment的下拉列表,勾选Inherit global site-packages(继承现用的库),再点击create即可。
另外需要特别说明一点,如果在命令提示符中安装过jupyter notebook了,如果没有把其导入到pycharm中,是无法在pycharm中使用的,也没法再次安装。所以目前而言,这个方法是可行的。
总结
初学python的时候感觉需要记得东西太多,各种库,各种包,但我们老师上课的时候和我们说,python对我们就是学会运用,不需要记住所有的包名库名,有需要可以自己查资料,这样在初学的时候才不会被语言的包袱所束缚,等自己到一定的程度之后,一些常用的命令自然就记住了。还给我们举了他上学时候的大牛老师的例子,他的老师那时候就常备了一本很厚的书,里面有各种程序语言的命令,Java,C,C++等等,他的老师需要某个命令的时候就直接查。所以我逐渐知道了,再学一门新的语言的时候,更多的我只需要关注他的一些特性,而不是死记硬背一些概念,这样才能高效的学习新语言。