django.core.exferences.ImproperlyConfigured: MySQLdb মডিউলটি লোড করার সময় ত্রুটি: মাইএসকিউএলডিবি নামে কোনও মডিউল নেই


96

Mysql এর জন্য ডাটাবেসে কানেক্ট করার চেষ্টা করার সময় আমি যে সমস্যার মুখোমুখি হচ্ছি। আমি যে ডাটাবেস সেটিংস ব্যবহার করেছি তাও দিয়েছি।

 Traceback (most recent call last):
 File "manage.py", line 10, in <module>
 execute_from_command_line(sys.argv)
 File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
utility.execute()
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 77, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/home/arundhati/Desktop/test/testprac/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 8, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/sql.py", line 9, in <module>
from django.db import models
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/__init__.py", line 40, in <module>
backend = load_backend(connection.settings_dict['ENGINE'])
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/utils.py", line 93, in __getitem__
backend = load_backend(db['ENGINE'])
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/utils.py", line 27, in load_backend
return import_module('.base', backend_name)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 17, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

ডাটাবেস সেটিংস ::

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'ar_test_db',                      # Or path to database file if using 
        # The following settings are not used with sqlite3:
        'USER': '',
        'PASSWORD': '',
        'HOST': '',                      # Empty for localhost through domain sockets or   '127.0.0.1' for localhost through TCP.
        'PORT': '',                      # Set to empty string for default.
    }
}

সহযোগিতার জন্য অসংখ্য ধন্যবাদ !!

উত্তর:


136

দেখে মনে হচ্ছে আপনার কাছে পাইথন মাইএসকিএল প্যাকেজ ইনস্টল নেই, চেষ্টা করুন:

pip install mysql-python

অথবা যদি ভার্চুয়াল পরিবেশ ব্যবহার না করে (* নিক্স হোস্টগুলিতে):

sudo pip install mysql-python

আপনি কি ভার্চুয়াল পরিবেশ ব্যবহার করছেন? আমি আপনাকে সুপারিশ করছি কেবল জিনিসগুলিকে সংগঠিত রাখার জন্য do যদি এটি কোনও বিকল্প না হয় তবে আপনাকে সুপারউজার সুবিধাসহ পাইপ চালাতে হবে: sudo পাইপ ইনস্টল করুন mysql-python
রন ই

4
আমি ভার্চুয়াল এনএনভি ব্যবহার করছি, এবং আমি মাইএসকিএল, জাঙ্গো ইনস্টল করেছি ... তবে আমি পাইথন ম্যানেজ.পি সিঙ্কডিবি করি যখন এটি পোস্ট করেছে একই ত্রুটিটি দেয়
গেটিটস্টার্ড

আমার কি কোনও সুযোগে সংস্করণ সমস্যা আছে? আমি আমার এসকিউএল (ডেবিয়ানদের জন্য 14.14) দিয়ে জ্যাঙ্গো 1.5, অজগর 2.7.3 ব্যবহার করছি
গেটিটস্টার্ড

4
অজগর 3 সহ: পাইপ ইনস্টল করুন মাইএসকিএলসিলেট
সাদালসুড

4
পাইথন 3 এ কাজ করে না। কনফিগার পার্সারের প্রয়োজন যা পাইথন 3
গোগাগুবি

40

আপনাকে মাইএসকিউএলে পাইথন-মাইসকিএলডিবি - পাইথন ইন্টারফেসটি ইনস্টল করতে হবে

চেষ্টা করুন
sudo apt-get install python-mysqldb


38

আপনি যদি পাইপ সহ mysqlclient ইনস্টল করার চেষ্টা করে ত্রুটি পান তবে আপনার মাইএসকিএল ডে গ্রন্থাগারের অভাব হতে পারে। এটি চালিয়ে ইনস্টল করুন:

apt-get install libmysqlclient-dev

এবং mysqlclient ইনস্টল করার জন্য আবার চেষ্টা করুন:

pip install mysqlclient

4
এটা ছিল pip install mysqlclient। আমি এটি আমার প্রয়োজনীয়তাগুলিতে টেক্সট ফাইলটিতে যুক্ত করতে ভুলে গিয়েছিলাম, সুতরাং মাইএসকিউএল ডাটাবেসটি ছিল এবং জনবসতিযুক্ত হওয়া সত্ত্বেও, আমার জ্যাঙ্গো ওয়েব সার্ভার এটির সাথে যোগাযোগ করতে পারে না।
ব্লেয়ার 23

ধন্যবাদ এই উত্তরটি আমার দিনটি বাঁচিয়েছে আমি 2 দিন ধরে
জ্যাঙ্গো নিয়ে মাইএসকিএল

13

আমার উত্তর @ রন-ই এর সমান, তবে আমি আরও কয়েকটি ত্রুটি / সংশোধন পেয়েছি তাই আমি ম্যাক ওএসএক্সের জন্য নীচে আমার পদক্ষেপগুলি মাভারিক্স এবং পাইথন ২.7..6 এ রাখছি।

  1. পাইথন মাইএসকিএল প্যাকেজ ইনস্টল করুন (যদি আপনি কোনও সাফল্যের বার্তা পান তবে নীচের পদক্ষেপগুলি উপেক্ষা করুন)

    pip install mysql-python
    
  2. আমি যখন উপরের কাজটি করেছি তখন আমি "পরিবেশের ত্রুটি: mysql_config পাওয়া যায় নি" ত্রুটি পেয়েছি এটি এখানে চিত্র বর্ণনা লিখুন ঠিক করতে, আমি টার্মিনালে নীচেরটি করেছি:

    export PATH=$PATH:/usr/local/mysql/bin
    
  3. আমি যখন পদক্ষেপ 1 পুনরায় পাঠাচ্ছি, তখন আমি একটি নতুন ত্রুটি পেয়েছি "ত্রুটি: প্রস্থান স্থিতি 1 দিয়ে কমান্ড 'সিসি' ব্যর্থ হয়েছে" "এটি এখানে চিত্র বর্ণনা লিখুন ঠিক করতে, আমি টার্মিনালে নীচেরটি করেছি:

     export CFLAGS=-Qunused-arguments
     export CPPFLAGS=-Qunused-arguments
    
  4. আমি পদক্ষেপ 1 পুনরায় পুনরায় সাফল্য পেয়েছি এবং সাফল্যের বার্তাটি পেয়েছি 'সাফল্যের সাথে ইনস্টল করা মাইএসকিএল-পাইথন'!


পরামর্শের জন্য ধন্যবাদ। আমি আপনার সমস্যার প্রথম পেয়েছিলাম।
ব্যবহারকারী2772346

আমি আপনার পথ অনুসরণ করেছি তবে আমার ক্ষেত্রে সর্বদা প্রথম ত্রুটি দেখা দেয়। এবং `রফতানির জন্য সিএফএলএজিএস = -যুক্ত-যুক্তিগুলি` টার্মিনালটি ত্রুটি দিচ্ছে:-bash: export: =-Qunused-arguments': not a valid identifier
রেগারবয়

12

আমি যখন পাইথন, মাইএসকিএল, সিক্যুয়াল প্রো অ্যাপ্লিকেশন সহ ম্যাক ওএস এক্স মাউন্টেন লায়নটিতে পাইচর্মের জন্য জ্যাঙ্গো বিকাশের পরিবেশ স্থাপন করি তখন আমি এই থ্রেডের মালিক হিসাবে ত্রুটি পেয়েছি। যাইহোক, ম্যাক ওএস মাউন্টেন লায়ন x86_x64 (মাইএসকিএল এবং পাইথন এছাড়াও একই আর্কিটেকচার হওয়া উচিত) এর অধীনে পাইথন-মাইসকিএলডিবি চালাচ্ছেন তাদের জন্য আমার উত্তর এবং ইতিমধ্যে পাইপ এবং ইত্যাদির মতো সমস্ত কিছু চেষ্টা করার জন্য এই সমস্যাটি সমাধানের জন্য নিম্নলিখিত পদক্ষেপগুলি করুন:

  1. পাইথনের জন্য মাইএসকিউএল এখান থেকে ডাউনলোড করুন
  2. আনটার ডাউনলোড করা ফাইল। টার্মিনাল উইন্ডোতে নিম্নলিখিতগুলি করুন: টার এক্সভিএফজেড downloade.tar।
  3. সিডি / অপরিবর্তিত ডিরেক্টরিতে
  4. সুডো পাইথন সেটআপ.পি ইনস্টল চালান
  5. আপনি যদি এরকম কিছু ত্রুটি পেয়ে থাকেন: "পরিবেশগত ত্রুটি: / usr / স্থানীয় / বিন / mysql_config পাওয়া যায় নি" তবে পাথ গাধাটি যুক্ত করার চেষ্টা করুন: "PATH = $ PATH: / usr / স্থানীয় / mysql / bin" রফতানি করুন। তবে আইডি আমাকে সাহায্য করে না এবং আমি আরও একটি সমাধান পেয়েছি। কমান্ড প্রয়োগের শেষে ত্রুটি আউটপুট যা দেখতে এইরকম দেখাচ্ছে:

    ফাইল "/path_to_file/MySQL-python-1.2.4b4/setup_posix.py", 25 লাইন, mysql_config উত্থাপন এনভায়রনমেন্ট ইরর ("% s পাওয়া যায়নি"% (mysql_config.path,))

  6. ভিম দিয়ে setup_posix.py খুলুন এবং 25 লাইন যান (আপনার ক্ষেত্রে এটি একই সংস্করণ না হলে ভিন্ন হতে পারে)।

  7. 25 লাইনটি আপনার সম্পাদনার পরে দেখতে হবে যদি না আপনার মাইএসকিএলে '/ usr / স্থানীয় / mysql / বিন /' এর মতো প্রতীকী লিঙ্ক থাকে:

    f = popen("%s --%s" % ('/usr/local/mysql/bin/mysql_config', what))

  8. এর পরে নিম্নলিখিত হিসাবে আমি আরও একটি ত্রুটি পেয়েছি:

    django.co.ore : লাইব্রেরি লোড করা হয়নি: libmysqlclient.18.dlib এর থেকে রেফারেন্স করা: / লাইব্রেরি / পাইথন / ২./ / সাইট / প্যাকেজস / মাইএসকিউএল_পিথন-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so কারণ: চিত্র পাওয়া যায় নি

  9. শেষ পর্যন্ত আমি কনসোলে নিম্নলিখিতগুলি করেছি:

    sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

বর্তমানে সবকিছু ঠিকঠাক কাজ করে। সুতরাং আমি আশা করি এটি ম্যাক ব্যবহারকারী কারও পক্ষে সহায়ক হবে। :)


অনেক ধন্যবাদ. MySQL haha ​​ব্যবহার করে আমার প্রথম প্রকল্পটি চালাতে আমার প্রায় এক সপ্তাহ লেগেছিল।
ভাই

ধন্যবাদ একটি টন মানুষ! তুমি আমার দিন বাঁচিয়েছ! আমি ম্যাক ব্যবহার করছিলাম এবং একই সমস্যা হচ্ছিলাম।
ব্যবহারকারী2772346

7

আপনি অজগর mysqldbগ্রন্থাগারটি অনুপস্থিত । এটি ইনস্টল করতে এই কমান্ডটি (দেবিয়ান / উবুন্টুর জন্য) ব্যবহার করুন: sudo apt-get install python-mysqldb


এটি একটি উত্তর, তবে আমি মনে করি আপনি একক লাইনের চেয়ে আরও বিশদ যুক্ত করতে পারলে দুর্দান্ত হবে। ধন্যবাদ!
উলি কাহলারের

উপরের কমান্ডটি মাইএসকিউএল ডাটাবেসে পাইথন ইন্টারফেসটি ইনস্টল করতে সহায়তা করে।
হাইমাই




5

আমি এই পরিবেশে এই সমস্যাটি সমাধান করেছি :

$ pyenv --version
pyenv 1.2.9

$ python --version
Python 3.7.2

$ python -m django --version
2.1.7

./settings.py

DATABASES = {
    'default': {
        'NAME': 'my_db_name',
        'ENGINE': 'mysql.connector.django',   # 'django.db.backends.mysql'
        'USER': '<user>',
        'PASSWORD': '<pass>',
        'HOST': 'localhost',
        'PORT': 3306,
        'OPTIONS': {
            'autocommit': True,
        },
    }
}

আপনি যদি ব্যবহার করেন তবে 'ENGINE': 'mysql.connector.django'ড্রাইভার নির্বাহকারী ইনস্টল করুন:

$ pip install mysql-connector-python
Successfully installed mysql-connector-python-8.0.15 protobuf-3.7.0 six-1.12.0

নোট যে $ pip install mysql-pythonআমার জন্য কাজ করে না।

মনে রাখবেন যে আপনি যদি ব্যবহার করেন তবে আপনার 'ENGINE': 'django.db.backends.mysql'চালক চালানো ইনস্টল করা উচিত:
$ pip install mysqlclient

শেষ অবধি:
$ python manage.py migrate

যদি এটি ঠিক থাকে তবে পাইথন এই সমস্ত সারণী আইডি ডাটাবেস তৈরি করে:

auth_group
auth_group_permissions
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
django_admin_log
django_content_type
django_migrations
django_session

django.core.exferences.ImproperlyConfigured: 'django.db.backends.django' কোনও উপলভ্য ডাটাবেস ব্যাকএন্ড নয়। 'Django.db.backends.XXX' ব্যবহার করার চেষ্টা করুন, যেখানে XXX এর মধ্যে একটি: 'মাইএসকিএল', 'ওরাকল', 'পোস্টগ্রেসকিএল', 'এসকিএলটি 3' আমি 'ইঞ্জিন' ব্যবহার করেছি: 'mysql.connector.django' পিপ 3 ইনস্টল মাইএসকিএল সহ -সংযোগকারী-পাইথন এটি এখনও কাজ করে না
মাউন্টেন

4

যদি আপনি পাইথন সংস্করণটি ৩.৪ বা তার বেশি ব্যবহার করেন। আপনি ইনস্টল করতে হবে

sudo apt-get install python3-dev libmysqlclient-dev 

টার্মিনাল মধ্যে। তারপরে pip install mysqlclientআপনার ভার্চুয়াল এনভিভিতে বা যেখানে আপনি পাইপ ইনস্টল করেছেন তা ইনস্টল করুন।


3

উবুন্টুতে এটি বিতরণ সংগ্রহস্থল ব্যবহার করার পরামর্শ দেওয়া হয়।

sudo apt-get install python-mysqldb

2

উইলের মতো একই ত্রুটি বার্তায়, এটি আমার জন্য প্রথমে মাইএসকিএল ইনস্টল করার কাজ করেছিল যেহেতু ইনস্টলেশনের সময় অনুপস্থিত ফাইল যুক্ত করা হবে। তাহলে পরে

brew install mysql

pip install mysql-python

ত্রুটি ছাড়াই দৌড়ে।


কমান্ড "/ usr / bin / python -u -c" আমদানি সেটআপলগুলি, টোকেনাইজ; __ ফাইল __ = '/ বেসরকারী / var / ফোল্ডার / yn / nrq74lgs6kqdzcr035p_5g280000gn / টি / পিপ-বিল্ড-জেউকিউসিএম 5 / মাইএসকিএল-পাইথন / সেটআপ.পি'; = getattr (টোকানাইজ, 'ওপেন', ওপেন) ( ফাইল ); কোড = f.read ()। প্রতিস্থাপন ('\ r \ n', '\ n'); f.close (); এক্সিকিউট (সংকলন (কোড, ফাইল , 'এক্সিকিউট')) "ইনস্টল --record /var/folders/yn/nrq74lgs6kqdzcr035p_5g280000gn/T/pip-UmTWRJ-record/install-record.txt --single- সংস্করণ-বাহ্যিকভাবে পরিচালিত - কম্পিউটার" ত্রুটি সহ ব্যর্থ কোড 1 / প্রাইভেট / ভেরি / ফোল্ডার / yn / nrq74lgs6kqdzcr035p_5g280000gn / টি / পিপ-বিল্ড-জেউকিউসিএম 5 / মাইএসকিএল-পাইথন /
তিসুচি

2

এটি আমার সাথেও ঘটেছিল এবং আমি বিশ্বাস করি এটি কেবল জ্যাঙ্গো বিকাশকারীদের জন্যই নয়, পাশাপাশি ফ্লাস্কের জন্যও একটি সাধারণ ত্রুটি হয়ে দাঁড়িয়েছে, সুতরাং যেভাবে আমি এই সমস্যাটি সমাধান করেছি সেভাবে ব্রু ব্যবহার করা হয়েছিল।

  1. brew install mysql
  2. sudo pip install mysql-python

এইভাবে প্রতিটি একক সমস্যা সমাধান করা হয়েছিল এবং উভয় ফ্রেমওয়ার্ক পুরোপুরি সূক্ষ্মভাবে কাজ করে।

পিএস: যারা ম্যাকপোর্টগুলি ব্যবহার করেন (যেমন আমার মতো), এটি একটি সমস্যা হতে পারে যেহেতু ব্রিউ বিভিন্ন স্তরে কাজ করে, আমার পরামর্শ ম্যাকপোর্টগুলির পরিবর্তে বারু ব্যবহার করা উচিত

আমি আশা করি আমি সহায়ক হতে পারে।


1

আমারও একই সমস্যা ছিল following নিম্নলিখিতটি আমার সমস্যাটি সমাধান করেছে

আপনার শেলের মধ্যে পিপ ইনস্টল পিমিস্কল চালান

তারপরে, আপনার প্রকল্পের উত্স ডিরেক্টরিতে (edit.py হিসাবে একই) আর.পি ফাইলটি সম্পাদনা করুন

যুক্ত করুন:

pymysql আমদানি করুন

pymysql.install_as_MySQLdb ()

এই সমস্যার সমাধান করা উচিত.


"তারপরে, আপনার প্রকল্পের উত্স ডিরেক্টরিতে init.py ফাইল সম্পাদনা করুন" - আপনার অর্থ __init__.py?
অ্যালেক্স ইউ

1

চেষ্টা করুন:

pip install mysqlclient

আমি এটি ভার্চুয়াল পরিবেশে ব্যবহার করার পরামর্শ দিচ্ছি।


0

কেবলমাত্র অন্য উত্তরে যুক্ত করার জন্য, আপনি যদি জ্যাঙ্গো ব্যবহার করছেন তবে জাঙ্গো ইনস্টল করার আগে আপনি মাইএসকিএল-পাইথন ইনস্টল করার পরামর্শ দেওয়া হচ্ছে।



0

যদি ত্রুটিটি দেখতে এমন হয়

django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module:
dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_mysql.so, 2): Library not loaded: 
/usr/local/opt/mysql/lib/libmysqlclient.20.dylib
Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_mysql.so

তারপরে চেষ্টা করুন:

pip install python-mysqldb

0

একই রকম সমস্যার মুখোমুখি। আমি mysql-pythonপাইপ ব্যবহার করে ইনস্টল করার চেষ্টা করেছি , তবে এটি জিসিসি নির্ভরতা ত্রুটির কারণে ব্যর্থ হয়েছিল।

সমাধান যে আমার জন্য কাজ করে

conda install mysql-python

দয়া করে মনে রাখবেন যে আমি ইতিমধ্যে এ্যানাকোন্ডা ইনস্টল করেছি, এতে জিসিসি নির্ভরতা ছিল না।


আপনি কি এর বিশদ বিবরণ দিতে পারেন
আয়ুশ ভটসায়ান

0

আমি মনে করি এটি সংস্করণ ত্রুটি।

নিম্নলিখিত ক্রমে এটি ইনস্টল করার চেষ্টা করুন:

  1. sudo apt-get install python3-mysqldb

  2. pip3 install mysqlclient

  3. python3 manage.py makemigrations

  4. python3 manage.py migrate


-2

দেখে মনে হচ্ছে পাইথন ফোল্ডারে আপনার অনুমতি নেই। চেষ্টা করুনsudo chown -R $USER /Library/Python/2.7


-3

আপনি নিম্নলিখিত ক্রিয়াকলাপটি চেষ্টা করতে পারেন:
sudo python manage.py runserver 0.0.0.0:8000

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.