ImportError: Không có mô-đun có tên yêu cầu


580

Bất cứ khi nào tôi cố gắng nhập requests, tôi nhận được một thông báo lỗi No module Named requests.

import requests

Lỗi tôi nhận được:

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

18
Bạn đã cài đặt requests, sử dụng piphay easy_install?
Thomas Orozco

16
Tôi gặp vấn đề tương tự, tôi đã cài đặt qua pip
David Crook

1
chỉ cần lưu ý, tôi chỉ nhận được vấn đề từ bên trong Spyder, nhưng không phải là dấu nhắc cmd.
David Crook

2
Tôi nhận được kết quả tương tự. Pip3 báo cáo "Yêu cầu đã được thỏa mãn: ..."
Matt

1
Đối với tôi, nó hóa ra là một cuộc xung đột với nhiều cài đặt của python. Chẳng hạn, trên máy mac của tôi, bằng cách nào đó tôi đã có được python AND python2.7 in / usr / bin, không liên kết với cùng một cài đặt. Mặc dù pip, rõ ràng, đang cài đặt các mô-đun cho python2.7. Vì vậy, pythonkhông nhìn thấy các mô-đun. Sử dụng python2.7, mọi thứ đều hoạt động. Tôi cho rằng tôi cần phải làm sạch môi trường của mình một chút.
Sean Novak

Câu trả lời:


704

Yêu cầu không phải là mô-đun tích hợp (không đi kèm với cài đặt python mặc định), vì vậy bạn sẽ phải cài đặt nó:

OSX / Linux

Sử dụng $ sudo pip install requests(hoặc pip3 install requestscho python3) nếu bạn đã pipcài đặt. Nếu pip được cài đặt nhưng không có trong đường dẫn của bạn, bạn có thể sử dụng python -m pip install requests(hoặc python3 -m pip install requestscho python3)

Ngoài ra, bạn cũng có thể sử dụng sudo easy_install -U requestsnếu bạn đã easy_installcài đặt.

Ngoài ra, bạn có thể sử dụng trình quản lý gói hệ thống của mình:

Đối với centos: yum install python-requests Đối với Ubuntu:apt-get install python-requests

các cửa sổ

Sử dụng pip install requests(hoặc pip3 install requestscho python3) nếu bạn đã pipcài đặt và Pip.exe được thêm vào Biến môi trường đường dẫn. Nếu pip được cài đặt nhưng không có trong đường dẫn của bạn, bạn có thể sử dụng python -m pip install requests(hoặc python3 -m pip install requestscho python3)

Hoặc từ một dấu nhắc cmd, sử dụng > Path\easy_install.exe requests, thư mục Pathcủa bạn ở đâu Python*\Scripts, nếu nó được cài đặt. (Ví dụ C:\Python32\Scripts:)

Nếu bạn muốn thêm một thư viện vào máy windows theo cách thủ công, bạn có thể tải xuống thư viện nén, giải nén nó và sau đó đặt nó vào Lib\site-packagesthư mục của đường dẫn python của bạn. (Ví dụ C:\Python27\Lib\site-packages:)

Từ nguồn (phổ quát)

Đối với bất kỳ thư viện bị thiếu, nguồn thường có sẵn tại https://pypi.python.org/pypi/ . Bạn có thể tải xuống các yêu cầu tại đây: https://pypi.python.org/pypi/requests

Trên mac osx và windows, sau khi tải xuống mã nguồn, giải nén nó và từ termiminal / cmd chạy python setup.py installtừ thư mục không nén.

( nguồn )


7
Nếu bất kỳ ai trong số bạn đã cài đặt pip trên Windows, "yêu cầu cài đặt pip" sẽ hoạt động tốt. Tôi đoán rằng "easy_install request" cũng sẽ hoạt động trên osx / linux, nhưng pip thường được ưa thích hơn. ( stackoverflow.com/questions/3220404/
Chris

12
đối với centos: yum cài đặt python-request
Erik Aronesty

9
Trên mac os x, nếu bạn đã cài đặt easy_install, bạn cũng có thể sử dụng:sudo easy_install -U requests
RobinCominotto

10
Lưu ý cho hậu thế: pip install requestsđể làm việc (trên máy Mac) bạn cần sử dụngsudo
David Oneill

6
làm cho nó hoạt động trên Mac OS X bằng cách sử dụng:sudo pip3 install requests
sirboderafael

77

Tôi không rõ phiên bản Python nào bạn đang sử dụng.

Nếu là Python 3, một giải pháp sẽ là sudo pip3 install requests


2
sudo pip3 install requestsnếu bạn muốn nó được cài đặt cho tất cả người dùng trên một máy, không chỉ một người dùng.
Adrian

67

Để cài đặt requestsmô-đun trên Debian / Ubuntu cho Python2:

$ sudo apt-get install python-requests

Và đối với Python3, lệnh là:

$ sudo apt-get install python3-requests


1
sudo apt-get cài đặt python-request
Toda Raba

2
sudo apt-get install python3-request trong trường hợp của tôi
user3058157

24

Nếu bạn đang sử dụng Ubuntu, cần phải cài đặt requests

chạy lệnh này:

pip install requests

nếu bạn đối mặt với quyền bị từ chối lỗi, hãy sử dụng sudo trước lệnh:

sudo pip install requests

Tôi đang dùng Mint và đang gặp lỗi tương tự mặc dù nó đã được cài đặt.
DarthOpto

21

Đây có thể là một chút ít quá muộn nhưng lệnh này có thể được chạy ngay cả khi đường dẫn pip không được đặt. Tôi đang sử dụng Python 3.7 chạy trên Windows 10 và đây là lệnh

py -m pip install requests

và bạn cũng có thể thay thế 'yêu cầu' bằng bất kỳ thư viện đã gỡ cài đặt nào khác


19

Trên OSX, lệnh sẽ phụ thuộc vào hương vị cài đặt python mà bạn có.

Python 2.x - Mặc định

sudo pip install requests

Python 3.x

sudo pip3 install requests

2
Tôi đã không nhận thấy sự khác biệt, nhưng nó có vấn đề. Tôi đã cài đặt phiên bản python 3.7 và yêu cầu sử dụng pip và không thể tìm thấy nó. Khi tôi cài đặt qua pip3, nó hoạt động ngay bây giờ.
shjeff

Đã thử 'sudo pip3 yêu cầu cài đặt' và nó đã thấy tải xuống, nhưng sau đó khi chạy tệp có yêu cầu trong đó, đã nhận được "ImportError: Không có mô-đun có tên yêu cầu". Rất bực bội.
John Forge

14

Trong trường hợp của tôi, yêu cầu đã được cài đặt, nhưng cần nâng cấp. Lệnh sau đã thực hiện thủ thuật

$ sudo pip install requests --upgrade



11

Người dùng bia có thể sử dụng tài liệu tham khảo dưới đây,

lệnh để cài đặt yêu cầu:

python3 -m pip install requests

Homebrew và Python

Pip là trình cài đặt gói cho Python và bạn cần gói requests.


Bạn có quan tâm để thêm một lời giải thích ngắn gọn (ở đây) về lý do tại sao điều này hoạt động?
Thruston

Thêm bình luận thêm cho pipthông tin.
ymutlu

7

Thêm gói của bên thứ ba vào ứng dụng

Theo liên kết này https://cloud.google.com/appengine/docs/python/tools/lologists27?hl=vi#vendoring

bước 1: Có một tệp bằng cách đặt tên một tệp có tên appengine_config.py trong thư mục gốc của dự án của bạn, sau đó thêm các dòng sau:

từ nhà cung cấp nhập khẩu google.appengine.ext

Thêm bất kỳ thư viện được cài đặt trong thư mục "lib".

eller.add ('lib')

Bước 2: tạo một thư mục và đặt tên là "lib" trong thư mục gốc của dự án.

Bước 3: sử dụng pip install -t lib request

Bước 4: triển khai đến công cụ ứng dụng.


1
Đây thực sự là những gì tôi đang tìm kiếm. Các bước trên một mình không hoạt động cho AppEngine :)
Gopherkhan


6

Đối với các cửa sổ, chỉ cần cung cấp đường dẫn dưới dạng cd và đường dẫn đến "Tập lệnh" của python và sau đó thực hiện các easy_install.exeyêu cầu lệnh. Sau đó thử yêu cầu nhập ...


6

Điều duy nhất làm việc cho tôi:

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

4

Tôi đã có vấn đề này một vài lần trong vài tháng qua. Tôi chưa thấy một giải pháp tốt cho các hệ thống fedora được đăng, vì vậy đây là một giải pháp khác. Tôi đang sử dụng RHEL7 và tôi đã phát hiện ra những điều sau đây:

Nếu bạn đã urllib3cài đặt qua piprequestscài đặt qua yumbạn sẽ gặp sự cố, ngay cả khi bạn đã cài đặt đúng gói. Điều tương tự sẽ được áp dụng nếu bạn đã urllib3cài đặt qua yumrequestscài đặt qua pip. Đây là những gì tôi đã làm để khắc phục vấn đề:

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

(xác nhận rằng tất cả các thư viện đã bị xóa)

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

Chỉ cần lưu ý rằng điều này sẽ chỉ hoạt động cho các hệ thống đang chạy Fedora, Redhat hoặc CentOS.

Nguồn:
Đây là câu hỏi (trong các ý kiến ​​cho câu trả lời này ).
Đây vấn đề github.


1
Đã cho dùng thử trên oracle linux (về cơ bản là RHEL) nhưng không hoạt động. Đăng bài để những người khác có thể biết về kết quả này. Cảm ơn mặc dù ~
ragerdl

@ragerdl Vấn đề của bạn có thể không đặc biệt là với các yêu cầu hoặc urllib3. Nó có thể với các gói python khác. Nó chỉ phụ thuộc vào những gì bạn đang cố gắng để chạy.
ajsmart

Thật vậy, tôi đã có hai con trăn xấu trên đường đi và bí danh cho một con trăn xấu quá. Loại bỏ ba con trỏ trăn đã giải quyết vấn đề của tôi. :)
ragerdl

3

Tôi đã cài đặt python2.7 và python3.6

Mở Dòng lệnh thành ~ / .bash_profile Tôi thấy rằng #Sding PATH cho Python 3.6 , vì vậy tôi thay đổi đường dẫn thành PATH = "/ usr / local / Cellar / python / 2.7.13 / bin: $ {PATH}" , (vui lòng đảm bảo đường dẫn python2.7 của bạn), sau đó lưu lại. Nó làm việc cho tôi.


3

nếu bạn muốn requestnhập trên windows:

pip install request

sau đó beautifulsoup4cho:

pip3 install beautifulsoup4

2

Tôi đã giải quyết vấn đề này. Bạn có thể thử phương pháp này. Trong tệp này '.bash_profile', Thêm mã nhưalias python=/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7


2

Nếu bạn đang sử dụng anaconda làm trình quản lý gói python, hãy thực hiện như sau:

conda install -c anaconda requests

Cài đặt yêu cầu thông qua pip không giúp tôi.


1
Tôi cần request_ntlm, vì vậy phải chạy "conda config --add kênh conda-forge" rồi "cài đặt conda -c anaconda request_ntlm"
Zunair

2

Bạn phải đảm bảo mô-đun yêu cầu của bạn không được cài đặt trong phiên bản mới hơn của python.

Khi sử dụng python 3.7, hãy chạy tệp python của bạn như sau:

python3 myfile.py

hoặc vào chế độ tương tác python với:

python3

Vâng, điều này làm việc cho tôi. Chạy tệp của bạn như thế này: python3 file.py



1

Câu trả lời của tôi về cơ bản giống như @ pi-k. Trong trường hợp của tôi, chương trình của tôi hoạt động tại địa phương nhưng không thể xây dựng trên các máy chủ QA. (Tôi nghi ngờ các tín đồ đã chặn các phiên bản cũ hơn của gói và phiên bản của tôi đã quá lỗi thời) Tôi chỉ quyết định nâng cấp mọi thứ

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

1

Nếu bạn đang sử dụng anaconda bước 1 : trong đó python bước 2 : mở dấu nhắc anaconda ở chế độ quản trị viên bước 3 : cd < python path > bước 4 : cài đặt gói ở vị trí này


1

Trong trường hợp của tôi, nó đã hiển thị Yêu cầu Yêu cầu đã được thỏa mãn. vì vậy tôi sử dụng.

sudo pip3 install requests

1

trong IDE của pycharm

1-đi đến cài đặt từ Tệp trong menu

2-next đi trên trình thông dịch Python

3 lần nhấp vào pip

4- tìm kiếm các yêu cầu và cài đặt nó

hoặc viết thứ tự này trong thiết bị đầu cuối pycharm

pip install requests 

và sử dụng nó bằng cách:

import requests

0

Vấn đề của tôi là tôi có bốn thư viện python khác nhau mà python đang cố sử dụng (mặc dù tôi đã gọi rõ ràng /usr/bin/python). Khi tôi xóa một bí danh vỏ và hai con trăn khác khỏi đường đi của tôi, /usr/bin/pythonđã có thể import requests.

-HTH


0

Vấn đề có thể là do một máy có nhiều phiên bản Python . Đảm bảo rằng bạn đang cài đặt các mô-đun Yêu cầu trong tất cả các phiên bản.

Trong trường hợp của tôi, tôi đã có phiên bản python 2.73.7. Tôi đã giải quyết vấn đề này bằng cách cài đặt với cả hai phiên bản python


0

Hãy thử điều này Tôi đã cài đặt Anaconda và sau khi trải qua rất nhiều bài viết, tôi thấy đây là một sửa chữa

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

Cung cấp đường dẫn của gói trang web trong thư mục python_version.


0

Có thể bạn đã cài đặt nhiều phiên bản python. Hãy thử các phiên bản khác nhau, chẳng hạn như python3.7 xxx.py, để xác định phiên bản nào là đúng.


-3

bạn cũng có thể sử dụng cài đặt pip trên windows bằng cách định vị tệp pip3.exe trong thư mục: nói cho tôi ==> cd c: \ python34 \ scripts sau đó chạy ==> yêu cầu cài đặt pip3

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.