requests介紹
requests是python的一個HTTP客戶端庫,跟urllib,urllib2類似,那我們為什么要用requests而不用urllib2呢?官方文檔中是這樣說明的:python的標准庫urllib2提供了大部分需要的HTTP功能,但是API太逆天了,一個簡單的功能就需要一大堆代碼。所以requests是比較簡單方便的庫。
遇到問題
我們在一個需要使用requests的腳本里引用了requests
import requests
1
運行時報錯No module named ‘requests’。
使用命令
sudo python printBarcodeSex.py
1
完整報錯如下:
[zzq@host252 script]$ sudo python printBarcodeSex.py
[sudo] password for zzq:
Traceback (most recent call last):
File "printBarcodeSex.py", line 2, in <module>
import requests
ImportError: No module named requests
1
2
3
4
5
6
原因
可能的原因是兩種,網上的資料大多只說了沒有安裝requests的情況,但是還有一種情況是python環境的混亂,就是一台服務器上安裝了很多個python的腳本,然后安裝的requests只放置到了其中了一個版本的引用庫中。
解決方式
首先確認是否安裝有requests模塊,使用安裝命令:
sudo pip install requests
1
輸出如下說明已經安裝過了requests。
[zzq@host252 script]$ sudo pip install requests
Requirement already satisfied: requests in /usr/local/python27/lib/python2.7/site-packages
You are using pip version 9.0.3, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
1
2
3
4
這種情況下我們懷疑應該是多個python版本導致。
這時候可以查看 /usr/bin 系統基本運行目錄看看 都有哪些python。
使用命令
ls /usr/bin/
1
發現確實有多個python。
這時候 我們可以分別用不同的版本嘗試運行py腳本如下:
sudo python printBarcodeSex.py
sudo python2 printBarcodeSex.py
sudo python2.6 printBarcodeSex.py
sudo python27 printBarcodeSex.py
1
2
3
4
發現python2.6版本是可以成功運行的,說明requests安裝在了2.6的引用庫中,兩種解決方式,一個是把requests庫復制到其他版本的引用庫中。
第二個比較快捷的方式就是編輯py腳本的頭部,加上
#!/usr/bin/python2.6
1
告訴系統使用2.6版本來運行該腳本,運行時直接使用文件名即可。
如下:
printBarcodeSex.py
1
運行成功。
---------------------
作者:張小凡vip
來源:CSDN
原文:https://blog.csdn.net/zzq900503/article/details/80283314
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!