有不少同学有这样的疑问,为什么在 cmd 命令行中
pip install requests
成功了,但是在 Pycharm 中写代码
import requests
还是报 module not found 错误,装是装上了,又没完全装上,何哉?(以 requests 这个库为例子)
原因是,没有处理认识好 python 多版本共存问题,cmd 里装 requests 的 python 环境不是你 pycharm 里面运行的那个 python 环境。
在 cmd 输入 pip install requests 前,不妨先输入一个命令,查看本机有哪些 Python 环境:
where python
cmd 显示如下:
可以看到,电脑有三个 python 环境,当在命令行输入 python 时,默认进入了第一个 Python36_64 环境,这样的顺序是由系统环境变量的先后顺序决定的。
然后查看有哪些 pip:
where pip
所以在命令行直接输入 pip install requests 时,是给 Python36_64 这个环境装的。
展开 Python Interpreter,可以看到就是 cmd 里默认的 Python36_64 环境,点击上图中右上角的锯齿状设置按钮,可以给 Pycharm 切换 python 环境。然后这些增删操作看符号就知道了,不赘述。
如果选中了想要的 python 环境,可以点击上图左下角中的 + 号按钮,搜索 requests 包,点击并安装,效果和 pip install 等同。
由于某些原因 python 库默认的下载地址下载很慢,在 cmd 中可以依次输入以下命令切换成 douban 源,下载安装就起飞了:
pip install pqi
pqi use douban
在 Pycharm 中也有等同操作,点击上图中 Manage Repositories ,将
https://pypi.python.com/simple/
修改成
https://pypi.douban.com/simple/
并且一路 OK 确定即可。
如果想要快速在 cmd 中给第二个 Python388 装 requests,该怎么办呢?我们在文件夹中打开 D:\Work\Python388\Scripts 这个路径。
我们可以直接在 cmd 中通过 pip3.8 install requests 给这个环境装 requests;
也复制一个 pip.exe,并粘贴命名为 pip38.exe,pip38 install requests;
pip.exe 和 pip3.exe 在 python36_64 那个环境也有,所以 pip/pip3 命令会被在环境变量中优先级高的 python36_64 的 pip 接管。
实践出真知,务必多多尝试。