刚才在Linux开发板上准备跑python的文件,发现没有相关的库,已经知道开发板的python3.8.14
,pip3是20.0.2,我凭借着之前在Windows系统上安装库的经验不假思索直接
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
结果运行结果给了我一个大比兜,WTF???我寻思这指令也没毛病啊
没办法没时间再质疑自己了,先看报错吧毕竟程序不会说谎,报错说当访问清华的镜像网站时确认SSL有问题,SSL?好熟悉的名字但是好久没有见过了,本着知其所以然的态度顺便复习一下8
传输层安全性协议(英语:Transport Layer Security,TLS)及其前身安全套接层(英语:Secure Sockets Layer,SSL)是现在的 HTTPS 协议中的一种安全协议,目的是为互联网通信提供安全及数据完整性保障
而较新版本的 python 内置的 pip 以及用于网络请求的 requests、urllib3 包也较新,并且会使用 HTTPS 协议来下载新的软件包。
结合着以上专业的解释也就是说ssl是个安全传输协议,也就是在访问清华镜像源下载的时候系统认为不安全所以不会下载,一想到“不安全”三个字我突然想到了pip3指令是不是还有个trusted-host的后缀,于是乎我试了一下
pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
果然就可以了真的神奇
顺带着发现了一个有趣的问题,这个开发板上既有python2.7又有python3.8,我开始只是看了一下python --version,当时我还纳闷这也太老了吧,后来我看了一下pip --version和pip3 --version发现没有pip指令但是有pip3,啊这???python2不是只能用pip吗,pip3怎么乱入了?然后我才想起来python3 --version这个指令(我真服了太久没接触python只记得python --version)于是乎才发现了还有python3.8,所以借着这个小插曲我了解了一下pip和pip3的区别以及python和Python3的区别以此来加深理解。
pip和pip3区别如下:
https://blog.csdn.net/QLeelq/article/details/121197098
Python和Python3的区别:
下面大佬的这篇Python与Python3的华山论剑我觉得写的非常好,里面有句话很有道理,stop talking,just do it!