ImportError: ไม่มีโมดูลชื่อคำขอ


580

เมื่อใดก็ตามที่ฉันพยายามที่จะนำเข้าที่ฉันได้รับข้อผิดพลาดว่าrequestsNo module Named requests

import requests

ข้อผิดพลาดที่ฉันได้รับ:

File "ex2.py", line 1, in <module>
    import requests
ImportError: No module named requests

18
คุณติดตั้งrequestsใช้งานpipหรือeasy_installไม่?
Thomas Orozco

16
ฉันได้รับปัญหาเดียวกันฉันติดตั้งผ่าน pip
David Crook

1
เพิ่งทราบฉันได้รับปัญหาจากภายใน Spyder แต่ไม่ใช่พรอมต์คำสั่ง
David Crook

2
ฉันได้รับผลลัพธ์เดียวกัน pip3 รายงานว่า "ความต้องการได้รับการตอบสนองเรียบร้อยแล้ว: ... "
Matt

1
สำหรับฉันมันกลายเป็นความขัดแย้งกับการติดตั้งหลามหลายครั้ง ตัวอย่างเช่นบน mac ของฉันฉันได้รับ python และ python2.7 ใน / usr / bin ซึ่งไม่ได้เชื่อมโยงกับการติดตั้งเดียวกัน แม้ว่า pip ดูเหมือนจะติดตั้งโมดูลสำหรับ python2.7 ดังนั้นpythonจะไม่เห็นโมดูลเหล่านั้น ใช้python2.7ทุกอย่างทำงาน ฉันคิดว่าฉันต้องทำความสะอาดสภาพแวดล้อมเล็กน้อย
Sean Novak

คำตอบ:


704

คำขอไม่ใช่โมดูลในตัว (ไม่ได้มาพร้อมกับการติดตั้ง Python เริ่มต้น) ดังนั้นคุณจะต้องติดตั้ง:

OSX / Linux

ใช้$ sudo pip install requests(หรือpip3 install requestsสำหรับ python3) หากคุณ pipติดตั้งไว้ หากมีการติดตั้ง pip แต่ไม่ได้อยู่ในพา ธ ของคุณคุณสามารถใช้python -m pip install requests(หรือpython3 -m pip install requestsสำหรับ python3)

หรือคุณสามารถใช้sudo easy_install -U requestsหากคุณeasy_installติดตั้งแล้ว

อีกวิธีหนึ่งคุณสามารถใช้ตัวจัดการแพคเกจระบบของคุณ:

สำหรับ centos: yum install python-requests สำหรับ Ubuntu:apt-get install python-requests

ของ windows

ใช้pip install requests(หรือpip3 install requestsสำหรับ python3) หากคุณ pipติดตั้งและเพิ่ม Pip.exe ใน Path Environment Variable หากมีการติดตั้ง pip แต่ไม่ได้อยู่ในพา ธ ของคุณคุณสามารถใช้python -m pip install requests(หรือpython3 -m pip install requestsสำหรับ python3)

หรือจากพรอมต์คำสั่งใช้โฟลเดอร์ของคุณอยู่> Path\easy_install.exe requestsที่ไหนถ้าติดตั้งไว้ (ตัวอย่างเช่น: )PathPython*\ScriptsC:\Python32\Scripts

หากคุณต้องการเพิ่มไลบรารีลงในเครื่อง windows ด้วยตนเองคุณสามารถดาวน์โหลดไลบรารีที่บีบอัดคลายการบีบอัดแล้ววางลงในLib\site-packagesโฟลเดอร์ของพา ธ ไพ ธ อนของคุณ (ตัวอย่างเช่น: C:\Python27\Lib\site-packages)

จากแหล่งที่มา (สากล)

สำหรับห้องสมุดที่ขาดหายไปแหล่งที่มามักจะมีอยู่ที่https://pypi.python.org/pypi/ คุณสามารถดาวน์โหลดคำขอได้ที่นี่: https://pypi.python.org/pypi/requests

บน mac osx และ windows หลังจากดาวน์โหลด zip มาแล้วให้คลายการบีบอัดและเรียกใช้คำว่าอาชญากร / cmd python setup.py installจาก dir ที่ไม่บีบอัด

(ที่มา )


7
หากมีผู้ใดก็ตามที่ติดตั้ง pip บน Windows "คำขอติดตั้ง pip" จะใช้งานได้ ฉันเดาว่า "คำขอ easy_install" จะทำงานบน osx / linux เช่นกัน แต่โดยทั่วไปแล้ว pip จะเป็นที่ต้องการ ( stackoverflow.com/questions/3220404/… )
Chris

12
สำหรับ centos: yum install
python-

9
บน mac os x หากคุณติดตั้ง easy_install คุณสามารถใช้:sudo easy_install -U requests
RobinCominotto

10
หมายเหตุสำหรับลูกหลาน: สำหรับpip install requestsการทำงาน (บน Mac) คุณจำเป็นต้องใช้sudo
David Oneill

6
ทำให้มันทำงานบน Mac OS X โดยใช้:sudo pip3 install requests
sirboderafael

77

ไม่ชัดเจนสำหรับฉันว่าคุณใช้ Python เวอร์ชันใด

ถ้าเป็น Python 3 จะแก้ปัญหาได้ sudo pip3 install requests


2
sudo pip3 install requestsหากคุณต้องการให้ติดตั้งสำหรับผู้ใช้ทุกคนในเครื่องไม่ใช่ผู้ใช้เพียงคนเดียว
เอเดรีย

67

ในการติดตั้งrequestsโมดูลบน Debian / Ubuntu สำหรับ Python2:

$ sudo apt-get install python-requests

และสำหรับ Python3 คำสั่งคือ:

$ sudo apt-get install python3-requests


1
sudo apt-get install python-ร้องขอ
Toda Raba

2
sudo apt-get install python3- ขอในกรณีของฉัน
user3058157

24

หากคุณใช้ Ubuntu คุณจำเป็นต้องติดตั้ง requests

เรียกใช้คำสั่งนี้:

pip install requests

หากคุณเผชิญกับข้อผิดพลาดการปฏิเสธสิทธิ์ใช้ sudo before คำสั่ง

sudo pip install requests

ฉันใช้ Mint และได้รับข้อผิดพลาดเดียวกันแม้ว่าจะติดตั้งแล้วก็ตาม
DarthOpto

21

นี่อาจเป็นบิตที่ช้าเกินไป แต่คำสั่งนี้สามารถรันได้แม้ว่าจะไม่ได้ตั้งค่าเส้นทางของ pip ฉันใช้ Python 3.7 กำลังทำงานบน Windows 10 และนี่คือคำสั่ง

py -m pip install requests

และคุณสามารถแทนที่ 'คำขอ' ด้วยไลบรารีที่ถอนการติดตั้งอื่น ๆ


19

บน OSX คำสั่งจะขึ้นอยู่กับรสชาติของการติดตั้งไพ ธ อนที่คุณมี

Python 2.x - ค่าเริ่มต้น

sudo pip install requests

Python 3.x

sudo pip3 install requests

2
ฉันไม่ได้สังเกตเห็นความแตกต่าง แต่มันก็สำคัญ ฉันติดตั้งpython 3.7แล้วและคำขอโดยใช้pipและมันหาไม่เจอ เมื่อฉันติดตั้งผ่านpip3มันใช้งานได้ทันที
shjeff

พยายาม 'sudo pip3 install ร้องขอ' และมันเห็นว่าจะดาวน์โหลด แต่แล้วเมื่อเรียกใช้ไฟล์ที่มีคำขอในนั้นได้รับ "ImportError: ไม่มีโมดูลชื่อร้องขอ" น่าผิดหวังมาก
John Pitts

14

ในคำขอของฉันได้รับการติดตั้งแล้ว แต่จำเป็นต้องมีการอัพเกรด คำสั่งต่อไปนี้ได้หลอกลวง

$ sudo pip install requests --upgrade


12

ฉันมีปัญหาเดียวกันดังนั้นฉันจึงคัดลอกโฟลเดอร์ชื่อ "คำร้องขอ" จากhttps://pypi.python.org/pypi/requests#downloads ร้องขอดาวน์โหลดเพื่อดาวน์โหลด "/Library/Python/2.7/site-packages" ตอนนี้เมื่อคุณใช้: คำขอนำเข้าก็น่าจะใช้ได้ดี


3
ตอนนี้ฉันมีแล้วNo module named urllib3:)
Pavel Alexeev

@PavelAlexeev ลองใช้คำสั่งนี้ก่อน "pip install urllib3"
Karthik Vg

11

ผู้ใช้ Brew สามารถใช้การอ้างอิงด้านล่าง

คำสั่งเพื่อติดตั้งคำขอ:

python3 -m pip install requests

Homebrew และ Python

piprequestsคือการติดตั้งแพคเกจสำหรับงูหลามและคุณจำเป็นต้องแพคเกจ


คุณสนใจที่จะเพิ่มคำอธิบายสั้น ๆ (ที่นี่) ว่าเหตุใดจึงใช้งานได้
Thruston

เพิ่มความคิดเห็นพิเศษสำหรับpipข้อมูล
ymutlu

7

การเพิ่มแพ็คเกจบุคคลที่สามลงในแอปพลิเคชัน

ติดตามลิงค์นี้ https://cloud.google.com/appengine/docs/python/tools/l ไลบรารี27?hl=th#vendoring

ขั้นที่ 1:มีไฟล์โดยตั้งชื่อไฟล์ชื่อ appengine_config.py ในรากของโครงการของคุณจากนั้นเพิ่มบรรทัดเหล่านี้:

จาก google.appengine.ext ผู้ขายนำเข้า

เพิ่มไลบรารีใด ๆ ที่ติดตั้งในโฟลเดอร์ "lib"

vendor.add ( 'lib)

ขั้นตอนที่ 2:สร้างไดเรกทอรีและตั้งชื่อว่า "lib" ภายใต้ไดเรกทอรีรากของโครงการ

ขั้นตอนที่ 3:ใช้การร้องขอ pip install -t lib

ขั้นตอนที่ 4:ปรับใช้กับแอปกลไก


1
นี่คือสิ่งที่ฉันกำลังมองหา ขั้นตอนข้างต้นเพียงอย่างเดียวไม่สามารถใช้กับ AppEngine :)
Gopherkhan


6

สำหรับ windows เพียงให้เส้นทางเป็น cd และพา ธ ไปยัง "Scripts" ของ python จากนั้นดำเนินการeasy_install.exeตามคำขอของคำสั่งจากนั้นลองนำเข้าคำร้องขอ ...


6

สิ่งเดียวที่ใช้ได้สำหรับฉัน:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
pip install requests

4

ฉันมีปัญหานี้สองสามครั้งในช่วงสองสามเดือนที่ผ่านมา ฉันไม่เห็นวิธีแก้ปัญหาที่ดีสำหรับระบบของ fedora ที่โพสต์ดังนั้นนี่คือโซลูชันอื่น ฉันใช้ RHEL7 และฉันค้นพบสิ่งต่อไปนี้:

หากคุณurllib3ติดตั้งผ่านpipและrequestsติดตั้งผ่านyumคุณจะมีปัญหาแม้ว่าคุณจะมีแพคเกจที่ถูกต้องติดตั้ง เช่นเดียวกับที่จะใช้ถ้าคุณได้urllib3ติดตั้งผ่านyumและติดตั้งผ่านrequests pipนี่คือสิ่งที่ฉันทำเพื่อแก้ไขปัญหา:

sudo pip uninstall requests
sudo pip uninstall urllib3
sudo yum remove python-urllib3
sudo yum remove python-requests

(ยืนยันว่าไลบรารีเหล่านั้นทั้งหมดถูกลบแล้ว)

sudo yum install python-urllib3
sudo yum install python-requests

เพิ่งทราบว่าสิ่งนี้จะใช้ได้กับระบบที่ใช้งาน Fedora, Redhat หรือ CentOS เท่านั้น

แหล่งที่มา:
คำถามนี้มาก (ในความเห็นต่อคำตอบนี้ )
นี้ปัญหา GitHub


1
ให้ลองใช้ oracle linux (โดยทั่วไป RHEL) แต่ไม่ได้ผล การโพสต์เพื่อให้คนอื่นรู้เกี่ยวกับผลลัพธ์นี้ ขอขอบคุณที่ ~
ragerdl

@ragerdl ปัญหาของคุณอาจไม่ตรงกับคำขอหรือ urllib3 มันอาจจะมาพร้อมกับแพ็คเกจไพ ธ อนอื่น ๆ ขึ้นอยู่กับสิ่งที่คุณพยายามเรียกใช้
ajsmart

ที่จริงฉันมีงูเหลือมสองตัวที่ขวางทางของฉันและนามแฝงของงูหลามตัวร้ายอีกด้วย การกำจัดตัวชี้หลามทั้งสามนั้นช่วยแก้ไขปัญหาของฉันได้ :)
ragerdl

3

ฉันติดตั้ง python2.7 และ python3.6 แล้ว

เปิด Command Line เป็น~ / .bash_profile ฉันพบว่า#Setting PATH สำหรับ Python 3.6ดังนั้นฉันจึงเปลี่ยนเส้นทางเป็นPATH = "/ usr / local / Cellar / python / 2.7.13 / bin: $ {PATH}" (โปรด ตรวจสอบให้แน่ใจเส้นทางของ python2.7 ของคุณ) จากนั้นบันทึก มันใช้งานได้สำหรับฉัน


3

ถ้าคุณต้องการrequestนำเข้าบน windows:

pip install request

จากนั้นbeautifulsoup4สำหรับ:

pip3 install beautifulsoup4

2

ฉันแก้ไขปัญหานี้แล้วคุณสามารถลองวิธีนี้ได้ ในไฟล์นี้ '.bash_profile' เพิ่มรหัสเช่นalias python=/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7


2

หากคุณใช้อนาคอนดาเป็นผู้จัดการแพ็คเกจงูใหญ่ของคุณ

conda install -c anaconda requests

การติดตั้งคำขอผ่าน pip ไม่ได้ช่วยฉัน


1
ฉันต้องการ requests_ntlm ดังนั้นจึงต้องเรียกใช้ "conda config - เพิ่มช่อง conda-forge" จากนั้น "conda ติดตั้ง -c anaconda ร้องขอ
_ntlm

2

คุณต้องตรวจสอบให้แน่ใจว่าโมดูลคำขอของคุณไม่ได้รับการติดตั้งในหลามเวอร์ชันล่าสุด

เมื่อใช้ python 3.7 ให้เรียกใช้ไฟล์ python ของคุณเช่น:

python3 myfile.py

หรือเข้าสู่โหมดโต้ตอบหลามด้วย:

python3

ใช่มันใช้งานได้สำหรับฉัน เรียกใช้ไฟล์ของคุณเช่นนี้: python3 file.py



1

คำตอบของฉันนั้นเหมือนกับ @ pi-k ในกรณีของฉันโปรแกรมของฉันทำงานในพื้นที่ แต่ไม่สามารถสร้างบนเซิร์ฟเวอร์ QA (ฉันสงสัยว่า devops มีแพคเกจรุ่นเก่าถูกบล็อกและเวอร์ชั่นของฉันต้องล้าสมัยเกินไป) ฉันเพิ่งตัดสินใจอัพเกรดทุกอย่าง

$ pip install pip-review
$ pip-review --local --interactive

1

หากคุณกำลังใช้แอนนาคอนดา ขั้นตอนที่ 1 : โดยที่ไพ ธ อน ขั้นตอนที่ 2 : เปิดแอนนาคอนดาในโหมดผู้ดูแลระบบ ขั้นตอนที่ 3 : cd < python path > ขั้นตอนที่ 4 : ติดตั้งแพ็กเกจในตำแหน่งนี้


1

ในกรณีของฉันมันแสดงความต้องการตามคำขอเรียบร้อยแล้ว ดังนั้นฉันใช้

sudo pip3 install requests

1

ในpycharm IDE

1 ไปที่การตั้งค่าจากไฟล์ในเมนู

2 ต่อไปไปที่ล่าม Python

3 คลิกที่ pip

4- ค้นหาคำขอและติดตั้ง

หรือเขียนคำสั่งนี้ใน terminal pycharm

pip install requests 

และใช้งานโดย:

import requests

0

ปัญหาของฉันคือการที่ฉันมีห้องสมุดหลามที่แตกต่างกันสี่ที่หลามพยายามที่จะใช้ (แม้ว่าฉันจะโทรอย่างชัดเจน/usr/bin/python) เมื่อฉันออกนามแฝงเปลือกและสองงูเหลือมอื่น ๆ จากเส้นทางของฉันก็สามารถที่จะ/usr/bin/pythonimport requests

-HTH


0

ปัญหาอาจเป็นเพราะเครื่องมีหลายรุ่นของงูหลาม ตรวจสอบให้แน่ใจว่าคุณกำลังติดตั้งโมดูลคำขอในทุกรุ่น

ในกรณีของฉันฉันมีรุ่นหลามและ2.7 3.7ฉันแก้ไขปัญหานี้ได้โดยติดตั้งกับงูหลามทั้งสองรุ่น


0

ลองสิ่งนี้ฉันติดตั้งงูใหญ่และหลังจากผ่านบทความมากมายฉันพบว่านี่เป็นการแก้ไข

import sys
print(sys.version)
print("\n \n")
print(sys.path)
sys.path.append('/usr/local/anaconda3/envs/py36/lib/python3.6/site-packages')

ระบุเส้นทางของแพ็คเกจไซต์ภายในโฟลเดอร์ python_version


0

บางทีคุณอาจติดตั้งงูหลามหลายรุ่น ลองใช้รุ่นอื่นเช่นpython3.7 xxx.pyเพื่อระบุว่าเป็นรุ่นใด


-3

คุณยังสามารถใช้การติดตั้ง pip บน windows ได้โดยการค้นหาไฟล์ pip3.exe ในไดเรกทอรีก่อน: พูดแทนฉัน ==> cd c: \ python34 \ สคริปต์จากนั้นเรียกใช้ ==> คำขอการติดตั้ง pip3

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.