CentOS 7系统pip安装requests “def where() -> str”报错

456 views次阅读
没有评论

随着CentOS 7即将寿终正寝,自带的python 2.7时代也将彻底随之落幕。这不还没到结束服务期间,问题就开始慢慢的出现。今天我在一台CentOS 7中用pip安装requests模块的时候就发现报错了。

和往常一样先用yum安装pip,然后pip install requests。但是实际从安装到导入都报错了。

安装报错

str"报错" alt="CentOS 7系统pip安装requests "def where() -> str"报错" fetchpriority="high" decoding="async" width="1024" height="440" data-src="https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401472293-1024x440.png" data-lazy="true" src="https://blog.nbqykj.cn/wp-content/themes/blog/assets/img/z/load.svg" alt="" class="wp-image-4101" srcset="https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401472293-1024x440.png 1024w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401472293-300x129.png 300w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401472293-768x330.png 768w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401472293.png 1360w" sizes="(max-width: 1024px) 100vw, 1024px" />

首先最新版本的requests不支持python 2.7,需要安装2.28以下,所以我安装了2.27版本

========================== 
Unsupported Python version
========================== 
This version of Requests requires at least Python 3.7, but 
you're trying to install it on Python 2.7. To resolve this, 
consider upgrading to a supported Python version. 

If you can't upgrade your Python version, you'll need to 
pin to an older version of Requests (<2.28).

导入报错

str"报错" alt="CentOS 7系统pip安装requests "def where() -> str"报错" decoding="async" width="760" height="255" data-src="https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401513289.png" data-lazy="true" src="https://blog.nbqykj.cn/wp-content/themes/blog/assets/img/z/load.svg" alt="" class="wp-image-4103" srcset="https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401513289.png 760w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401513289-300x101.png 300w" sizes="(max-width: 760px) 100vw, 760px" />
Python 2.7.5 (default, Jun 28 2022, 15:30:04) 
 [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
 Type "help", "copyright", "credits" or "license" for more information.
               import requests
       Traceback (most recent call last):
         File "", line 1, in 
         File "/usr/lib/python2.7/site-packages/requests/init.py", line 133, in 
           from . import utils
         File "/usr/lib/python2.7/site-packages/requests/utils.py", line 27, in 
           from . import certs
         File "/usr/lib/python2.7/site-packages/requests/certs.py", line 15, in 
           from certifi import where
         File "/usr/lib/python2.7/site-packages/certifi/init.py", line 1, in 
           from .core import contents, where
         File "/usr/lib/python2.7/site-packages/certifi/core.py", line 17
           def where() -> str:
                       ^
       SyntaxError: invalid syntax

从这里可以看到,requests安装时候附带的模块也都已经不支持python 2.7了。如果你和我一样到这里,那么你想卸载都已经难了,因为pip都会报错。

str"报错" alt="CentOS 7系统pip安装requests "def where() -> str"报错" decoding="async" width="1024" height="370" data-src="https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401511680-1024x370.png" data-lazy="true" src="https://blog.nbqykj.cn/wp-content/themes/blog/assets/img/z/load.svg" alt="" class="wp-image-4102" srcset="https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401511680-1024x370.png 1024w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401511680-300x108.png 300w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401511680-768x277.png 768w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401511680.png 1039w" sizes="(max-width: 1024px) 100vw, 1024px" />

这个应该是CentOS自带的pip版本太老引起的,现在需要先卸载pip,然后重新安装新的pip。

更新PIP

wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python get-pip.py
pip install --upgrade setuptools

重新安装requests

更新完pip后,先彻底卸载requests和之前附带安装的所有模块,如果只是卸载requests再安装还是会报错。

pip uninstall certifi chardet idna requests urllib3
str"报错" alt="CentOS 7系统pip安装requests "def where() -> str"报错" loading="lazy" decoding="async" width="1024" height="270" data-src="https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401555212-1024x270.png" data-lazy="true" src="https://blog.nbqykj.cn/wp-content/themes/blog/assets/img/z/load.svg" alt="" class="wp-image-4104" srcset="https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401555212-1024x270.png 1024w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401555212-300x79.png 300w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401555212-768x202.png 768w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401555212-1536x404.png 1536w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401555212.png 1899w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />
pip install requests
str"报错" alt="CentOS 7系统pip安装requests "def where() -> str"报错" loading="lazy" decoding="async" width="1024" height="164" data-src="https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401562747-1024x164.png" data-lazy="true" src="https://blog.nbqykj.cn/wp-content/themes/blog/assets/img/z/load.svg" alt="" class="wp-image-4105" srcset="https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401562747-1024x164.png 1024w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401562747-300x48.png 300w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401562747-768x123.png 768w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401562747-1536x246.png 1536w, https://blog.nbqykj.cn/wp-content/uploads/2023/09/2023091401562747.png 1918w" sizes="auto, (max-width: 1024px) 100vw, 1024px" />

CentOS 7下安装requests成功,导入成功。

正文完
微信搜一搜“奇悦电脑科技”或扫描二维码关注我们
post-qrcode
 0
章郎虫
版权声明:本站原创文章,由 章郎虫 于2023-09-14发表,共计1543字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。