خطای No module named ‘urllib2’ in Python

urllib یک ماژول پایتون برای واکشی و خواندن URL است. اگر با خطای No module named ‘urllib2’ in Python مواجه شدید، این آموزش برای شما مناسب است. در کل این آموزش شما می دانید که چگونه خطای ModuleNotFound را حل کنید.

urllib چیست؟

urllib چیست؟
پایتون با ماژول urllib امکان واکشی و خواندن URL را به شما میدهد. URL به عنوان Uniform Resource Locator (موقعیت و مکان یک فایل در اینترنت) شناخته می شود.

این بسته ویژگی های زیر را در اختیار شما قرار می دهد:

  1. درخواست برای باز کردن و خواندن یک URL
  2. تجزیه یک URL
  3. تجزیه یک فایل robots.txt

کاربرد اصلی urllib حذف محتوا از آدرس اینترنتی است. بسیاری از توسعه دهندگان خطای هیچ ماژولی به نام «urllib2» در پایتون وجود ندارد را دریافت می کنند. چرا این خطا را دریافت و چگونه آن را حل می کنید.

No module named urllib2 in Python

ModuleNotFoundError یعنی هیچ ماژولی با نام ‘urllib2’ در پایتون وجود ندارد  زیرا ماژول urllib2 در پایتون ۳ به urllib.request و urllib.response تقسیم شده است.

برای رفع خطا، ماژول را از urllib.request <-   import urllib2 تبدیل کنید.

import urllib2

به

import urllib.request

تبدیل میشود.

خطای No module named ‘urllib2’ in Python
urllib2

استفاده از عبارت import universal با try/except

اگر به یک import جهانی نیاز دارید که برای پایتون ۲ و ۳ کار کند، از عبارت try/except استفاده کنید.

try:
from urllib.request import urlopen  # استفاده در پایتون  ۳
except ImportErro:
from urllib2 import urlopen  # استفاده در پایتون ۲

ما سعی می کنیم ماژول urllib.request (Python 3) را وارد کنیم و اگر ImportError دریافت کنیم، می دانیم که فایل در Python 2 اجرا می شود، بنابراین تابع urlopen را از urllib2 وارد می کنیم.

این خطا به دلایل متعددی رخ می دهد:

استفاده از عبارت import نادرست هنگام وارد کردن ماژول.

نامگذاری ماژول خود urllib2.py یا urllib.py که ماژول رسمی را تحت الشعاع قرار می دهد.

اعلان متغیری به نام urllib2 یا urllib که متغیر وارداتی را سایه می‌اندازد.

اگر مطمئن نیستید که از چه نسخه ای از پایتون استفاده می کنید، دستور python –version! یا python –version! را اجرا کنید.

نتیجه گیری

در این مقاله خطای modulenotfounderror: no module named ‘urllib2’ را بررسی کردیم. این خطا معمولا مربوط به نسخه مورد استفاده از پایتون رخ میدهد. در صورت داشتن هر گونه سوال با ما از قسمت نظرات مطرح کنید.


دیدگاهتان را بنویسید

We are glad you have chosen to leave a comment. Please keep in mind that comments are moderated according to our comment policy.