今天帮朋友装一些 Python 相关的软件,但是最终因为 pip 一直安装模块失败等原因,当时没有查出问题的原因。折腾了挺久,最终还是先放弃了,回去后在自己电脑上又试了几下。
可能因为朋友之前在电脑上装的 Python 版本比较多,pip 版本为 20.0.2,在安装时,又遇到了升级 pip 失败,手动升级了但是依旧无法安装 requests 模块。
回去后想了想可能是因为软件版本太旧的问题,于是直接将 Python 安装到 3.10.2 版本,并且安装了 PyCharm 2022.1。就解决了安装各种模块失败的问题。
安装 Python
在安装 Python 时,下载最新版本 3.10.2,记得勾选:Add Python 3.10 to PATH。
选择 Customize installation,就可以自定义路径,否则默认会装到 C 盘。后面步骤的各种选项全部勾选上即可,比如 pip、IDLE 等,后面会用到。
安装 requests 模块
因为之前勾选了 pip(如果默认安装的话也会自动安装),进入到你的 Python 安装路径的 Scripts 文件夹下,比如我的在: D:\WindowsSoftware\Python3.10.2\Scripts
,在路径框上输入 cmd,就可以在 cmd 中打开当前的路径,然后输入:
pip install requests
不出意外,会出现下面的情况:
D:\WindowsSoftware\Python3.10.2\Scripts>pip install requests
Collecting requests
Downloading requests-2.27.1-py2.py3-none-any.whl (63 kB)
|████████████████████████████████| 63 kB 383 kB/s
Collecting urllib3<1.27,>=1.21.1
Downloading urllib3-1.26.8-py2.py3-none-any.whl (138 kB)
|████████████████████████████████| 138 kB 168 kB/s
Collecting charset-normalizer~=2.0.0
Downloading charset_normalizer-2.0.12-py3-none-any.whl (39 kB)
Collecting idna<4,>=2.5
Downloading idna-3.3-py3-none-any.whl (61 kB)
|████████████████████████████████| 61 kB 109 kB/s
Collecting certifi>=2017.4.17
Downloading certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
|████████████████████████████████| 149 kB 35 kB/s
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests
Successfully installed certifi-2021.10.8 charset-normalizer-2.0.12 idna-3.3 requests-2.27.1 urllib3-1.26.8
WARNING: You are using pip version 21.2.4; however, version 22.0.4 is available.
You should consider upgrading via the 'D:\WindowsSoftware\Python3.10.2\python.exe -m pip install --upgrade pip' command.
有一个 WARNING,警告 pip 版本太低,提醒你输入 python -m pip install --upgrade pip,但是当你执行这条后可能没有什么反应。
注意:如果网络挂了代理,执行 pip install requests
后可能一堆错误,可以先关掉网络代理。
更新 pip
同样在 Scripts 安装路径下,执行:
pip list
可以显示目前已经安装的第三方模块和pip版本号。
D:\WindowsSoftware\Python3.10.2\Scripts>pip list
Package Version
------------------ ---------
certifi 2021.10.8
charset-normalizer 2.0.12
idna 3.3
pip 22.0.4
requests 2.27.1
setuptools 58.1.0
urllib3 1.26.8
其实,上面使用升级命令无反应,只要在 py 后面加上 python 版本号就可以了。
D:\WindowsSoftware\Python3.10.2\Scripts>py -3.10 -m pip install --upgrade pip
Requirement already satisfied: pip in d:\windowssoftware\python3.10.2\lib\site-packages (21.2.4)
Collecting pip
Downloading pip-22.0.4-py3-none-any.whl (2.1 MB)
|████████████████████████████████| 2.1 MB 79 kB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 21.2.4
Uninstalling pip-21.2.4:
Successfully uninstalled pip-21.2.4
Successfully installed pip-22.0.4
接着,耐心等待安装,如果出现异常,再安装一次。然后再次执行 pip --version
:
D:\WindowsSoftware\Python3.10.2\Scripts>pip --version pip 22.0.4 from D:\WindowsSoftware\Python3.10.2\lib\site-packages\pip (python 3.10)
可以看到已经升级到最新。
安装模块太慢、报错
如果安装模块太慢,总是报错,很可能时镜像源的问题,具体方法就是更换镜像源,比如换成清华的。
pip 修改清华源
需要注意,如果要将清华源设置成默认,需要将 pip 升级到 10.0.0 以上(>10.0.0),再进行配置,升级方法上面已经介绍过了。
配置默认的镜像站:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
如果是想临时用一下,可以用下面的命令:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
设置好了后,安装 python 模块应该比较快了,如果出现安装太慢或报错可以试一试。
在 PyCharm 中安装模块
依次打开 File — Settings — Project — Phthon Interpreter,点击加号 + ,然后搜索自己想要的模块,再点击左下角的 Install Package 即可。
如果安装不成功,可能是因为软件版本不够新,或者上面说的修改 pip 国内源应该就行。
安装模块报错:Non-zero exit code(2)
可能是 PyCharm 的问题或者操作系统有什么问题。
解决此报错的方法很简单:
直接点击左下角的 Terminal
(一般在 TODO
的旁边),将会直接打开到当前项目的目录下。
然后输入要安装的模块,比如 requests:
pip install requests
等待安装完成即可。
然后再进入 File — Settings — Project — Phthon Interpreter 中查看就有自己安装的模块了。
在 Pycharm 中创建的项目,每个项目都有一个 venv,在一个项目于中安装的,只存在于此项目的 venv 文件夹下。
但是如果又创建了新的项目,需要重新安装,两个项目的运行环境不共用。
测试:安装成功后,可以使用代码测试一下:
import requests
url = 'http://httpbin.org/get'
data = {
'name': 'zhangsan',
'age': '25'
}
response = requests.get(url, params=data)
print(response.url)
print(response.text)