1. 程式人生 > >python---No module named 'requests'解決辦法

python---No module named 'requests'解決辦法

side scrip code request 其他 con pac 完整 pass

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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

python---No module named 'requests'解決辦法