Получение "ошибка загрузки модуля MySQLdb: нет модуля с именем MySQLdb" - пробовали ранее опубликованные решения
Это очень обсуждаемая проблема для пользователей OSX 10.6, но я не смог найти решение, которое работает. Вот моя настройка:
Python 2.6.1 64bit
Django 1.2.1
MySQL 5.1.47 osx10. 6 64bit
Я создаю virtualenvwrapper с -- no-site-packages, а затем устанавливаю Django. Когда я активирую virtualenv и запускаю python manage.py syncdb, я получаю эту ошибку:
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 257, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 67, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/commands/syncdb.py", line 7, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/sql.py", line 5, in <module>
from django.contrib.contenttypes import generic
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/contrib/contenttypes/generic.py", line 6, in <module>
from django.db import connection
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/__init__.py", line 75, in <module>
connection = connections[DEFAULT_DB_ALIAS]
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 91, in __getitem__
backend = load_backend(db['ENGINE'])
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 32, in load_backend
return import_module('.base', backend_name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/backends/mysql/base.py", line 14, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
Я также установил MySQL для Python адаптер, но безрезультатно (может я установил неправильно?).
кто-нибудь имел дело с этим раньше?
23 ответов:
у меня была такая же ошибка и
pip install MySQL-pythonрешил это за меня.альтернативный устанавливает:
- если у вас нет Пип,
easy_install MySQL-pythonдолжны работать.- если ваш python управляется системой упаковки, возможно, вам придется использовать эта система (например
sudo apt-get install ...)ниже Soli отмечает, что если вы получаете следующее сообщение об ошибке:
EnvironmentError: mysql_config not found... тогда у вас есть еще одна проблема зависимости системы. Решение этой проблемы будет варьироваться от системы к системе, но для систем, производных от Debian:
sudo apt-get install python-mysqldb
добавление к другим ответам, следующее помогло мне закончить установку mysql-python:
virtualenv, mysql-python, pip: кто-нибудь знает, как?
На Ubuntu...
apt-get install libmysqlclient-dev apt-get install python-dev pip install mysql-pythonНе забудьте добавить 'sudo' в начало команд, если у вас нет соответствующих разрешений.
попробуйте выполнить следующие команды. Они работают на меня:
brew install mysql-connector-c pip install MySQL-python
mysql_configдолжен быть на пути. На Mac, doexport PATH=$PATH:/usr/local/mysql/bin/ pip install MySQL-python
pip install mysql-pythonвозникает ошибка:
EnvironmentError: mysql_config не найден
sudo apt-get install python-mysqldbИсправлена проблема.
как я получил это работает:
virtualenv -p python3.5 env/testпосле поиска мой env:
pip install pymysql pip install djangoзатем я запустил startproject и внутри manage.py, я добавил Это:
+ try: + import pymysql + pymysql.install_as_MySQLdb() + except: + passкроме того, обновлено это внутри настройки:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'foobar_db', 'USER': 'foobaruser', 'PASSWORD': 'foobarpwd', } }у меня тоже
configparser==3.5.0установлен в моем virtualenv, не уверен, что это было необходимо или нет...надеюсь, это поможет,
следующее отлично работало для меня, запустив Ubuntu 13.10 64-бит:
sudo apt-get install libmysqlclient-dev sudo apt-get install python-devТеперь перейдите к своему virtualenv (например, папке env) и выполните следующее:
sudo ./bin/pip install mysql-pythonЯ действительно нашел решение в отдельном вопросе, и я цитирую его ниже:
если вы создали virtualenv с параметром --no-site-packages (по умолчанию), затем общесистемные установленные дополнения, такие как MySQLdb не включены в пакетах виртуальной среды.
вам нужно установить MySQLdb с командой pip, установленной с помощью виртуальное окружение. Либо активировать виртуальное окружение с Бен/активировать скрипт, или использовать бин/ПГИ в виртуальное окружение, чтобы установить Библиотеки MySQLdb локально, а также.
кроме того, создайте новый virtualenv с системными сайтами-пакетами включено с помощью переключателя --system-site-package.
Я думаю, что это должно также работать с OSX. Единственной проблемой будет получение эквивалентной команды для установки
libmysqlclient-devиpython-devкак они необходимы для компиляцииmysql-pythonЯ думаю.надеюсь, что это помогает.
эта проблема была результатом неполной / неправильной установки адаптера MySQL для Python. В частности, мне пришлось отредактировать путь к файлу mysql_config, чтобы указать на /usr / local / mysql/bin/mysql_config-более подробно обсуждается в этой статье:http://dakrauth.com/blog/entry/python-and-django-setup-mac-os-x-leopard/
это работало для Red Hat Enterprise Linux Server release 6.4
sudo yum install mysql-devel sudo yum install python-devel pip install mysql-python
sudo apt-get install python-mysqldbотлично работает в ubuntu
pip install mysql-pythonвыдает Ошибка Среды
Я сделал обновление до OSX Mavericks и Pycharm 3 и начал получать эту ошибку, я использовал pip и easy install и получил ошибку:
команда' / usr/bin / clang' завершилась неудачно со статусом выхода 1.
поэтому мне нужно обновить Xcode 5 и снова попытаться установить с помощью pip.
pip install mysql-pythonчто исправить все проблемы.
здесь возникает ошибка при импорте модуля python. Это можно решить, добавив папку python site-packages в переменную среды $PYTHONPATH на OS X. Поэтому мы можем добавить следующую команду .файл bash_profile:
export PYTHONPATH="$PYTHONPATH:/usr/local/lib/pythonx.x/site-packages/"* замените x. x на версию python, которую вы используете
Если вы используете python3, то попробуйте это(моя ОС Ubuntu 16.04):
sudo apt-get install python3-mysqldb
pipне работает для меня на Windows 8 64 бит система.easy_install mysql-pythonработает для меня. Вы можете использоватьeasy_installчтобы избежать создания двоичных файлов в windows, если pip не работает.
у меня была такая же проблема на OSX 10.6.6. Но просто
easy_install mysql-pythonна терминале это не решило, так как последовала еще одна икота:
error: command 'gcc-4.2' failed with exit status 1.по-видимому, эта проблема возникает после обновления с XCode3 (который изначально поставляется с OSX 10.6) до XCode4. Эта новая версия удаляет поддержку для построения арки ppc. Если это тот же случай, попробуйте сделать следующее Перед
easy_install mysql-pythonsudo bash export ARCHFLAGS='-arch i386 -arch x86_64' rm -r build python setup.py build python setup.py installбольшое спасибо Неду Дейли за это решение. Регистрация здесь
для меня проблема была решена путем простой переустановки mysql-python
pip uninstall mysql-python pip install mysql-python
Я преодолел ту же проблему, установив
MySQL-pythonбиблиотека с помощью Пип. Вы можете увидеть сообщение, отображаемое на моей консоли, когда я впервые изменил настройки базы данных в settings.py и выполнил команду makemigrations (решение следует за приведенным ниже сообщением, просто см. Это).(vir_env) admins-MacBook-Pro-3:src admin$ python manage.py makemigrations Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line utility.execute() File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute django.setup() File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/__init__.py", line 18, in setup apps.populate(settings.INSTALLED_APPS) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate app_config.import_models(all_models) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models self.models_module = import_module(models_module_name) File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/contrib/auth/models.py", line 41, in <module> class Permission(models.Model): File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/base.py", line 139, in __new__ new_class.add_to_class('_meta', Options(meta, **kwargs)) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/base.py", line 324, in add_to_class value.contribute_to_class(cls, name) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/options.py", line 250, in contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/__init__.py", line 36, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/utils.py", line 240, in __getitem__ backend = load_backend(db['ENGINE']) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/utils.py", line 111, in load_backend return import_module('%s.base' % backend_name) File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 27, in <module> raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdbнаконец я преодолел эту проблему следующим образом:
(vir_env) admins-MacBook-Pro-3:src admin$ pip install MySQLdb Collecting MySQLdb Could not find a version that satisfies the requirement MySQLdb (from versions: ) No matching distribution found for MySQLdb (vir_env) admins-MacBook-Pro-3:src admin$ pip install MySQL-python Collecting MySQL-python Downloading MySQL-python-1.2.5.zip (108kB) 100% |████████████████████████████████| 112kB 364kB/s Building wheels for collected packages: MySQL-python Running setup.py bdist_wheel for MySQL-python ... done Stored in directory: /Users/admin/Library/Caches/pip/wheels/38/a3/89/ec87e092cfb38450fc91a62562055231deb0049a029054dc62 Successfully built MySQL-python Installing collected packages: MySQL-python Successfully installed MySQL-python-1.2.5 (vir_env) admins-MacBook-Pro-3:src admin$ python manage.py makemigrations No changes detected (vir_env) admins-MacBook-Pro-3:src admin$ python manage.py migrate Operations to perform: Synchronize unmigrated apps: staticfiles, rest_framework, messages, crispy_forms Apply all migrations: admin, contenttypes, sessions, auth, PyApp Synchronizing apps without migrations: Creating tables... Running deferred SQL... Installing custom SQL... Running migrations: Rendering model states... DONE Applying PyApp.0001_initial... OK Applying PyApp.0002_auto_20170310_0936... OK Applying PyApp.0003_auto_20170310_0953... OK Applying PyApp.0004_auto_20170310_0954... OK Applying PyApp.0005_auto_20170311_0619... OK Applying PyApp.0006_auto_20170311_0622... OK Applying PyApp.0007_loraevksensor... OK Applying PyApp.0008_auto_20170315_0752... OK Applying PyApp.0009_auto_20170315_0753... OK Applying PyApp.0010_auto_20170315_0806... OK Applying PyApp.0011_auto_20170315_0814... OK Applying PyApp.0012_auto_20170315_0820... OK Applying PyApp.0013_auto_20170315_0822... OK Applying PyApp.0014_auto_20170315_0907... OK Applying PyApp.0015_auto_20170315_1041... OK Applying PyApp.0016_auto_20170315_1355... OK Applying PyApp.0017_auto_20170315_1401... OK Applying PyApp.0018_auto_20170331_1348... OK Applying PyApp.0019_auto_20170331_1349... OK Applying PyApp.0020_auto_20170331_1350... OK Applying PyApp.0021_auto_20170331_1458... OK Applying PyApp.0022_delete_postoffice... OK Applying PyApp.0023_posoffice... OK Applying PyApp.0024_auto_20170331_1504... OK Applying PyApp.0025_auto_20170331_1511... OK Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying sessions.0001_initial... OK (vir_env) admins-MacBook-Pro-3:src admin$
выполнить команду
sudo pip install mysql-python;Теперь вы можете запустить вашу команду.
python manage.py startapp filename;
я столкнулся с подобными ситуациями, как у вас, что я использую python3.7 и django 2.1 в virtualenv на mac osx. Попробуйте выполнить команду:
pip install mysql-python pip install pymysqlредактировать
__init__.pyфайл в папку проекта и добавить следующее:import pymysql pymysql.install_as_MySQLdb()запустите:
python3 manage.py runserverилиpython manage.py runserver
Comments