virtualenv python 3




Obtenir "Erreur de chargement du module MySQLdb: Aucun module nommé MySQLdb"-ont essayé des solutions précédemment publiées (15)

C'est un problème très discuté pour les utilisateurs OSX 10.6, mais je n'ai pas été en mesure de trouver une solution qui fonctionne. Voici ma configuration:

Python 2.6.1 64bit Django 1.2.1 MySQL 5.1.47 osx10.6 64bit

Je crée un virtualenvwrapper avec --no-site-packages, puis j'installe Django. Lorsque j'active virtualenv et lance python manage.py syncdb, j'obtiens cette erreur:

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

J'ai également installé l'adaptateur MySQL pour Python , mais en vain (peut-être que je l'ai mal installé?).

Quelqu'un a traité de cela avant?


Ajout à d'autres réponses, ce qui suit m'a aidé à terminer l'installation mysql-python:

virtualenv, mysql-python, pip: quelqu'un sait comment?

Sur Ubuntu ...

apt-get install libmysqlclient-dev
apt-get install python-dev
pip install mysql-python

N'oubliez pas d'ajouter 'sudo' au début des commandes si vous n'avez pas les permissions appropriées.


Ce problème était dû à une installation incomplète / incorrecte de l'adaptateur MySQL pour Python. Plus précisément, j'ai dû éditer le chemin vers le fichier mysql_config pour pointer vers / usr / local / mysql / bin / mysql_config - discuté plus en détail dans cet article: dakrauth.com/blog/entry/…


Cela a fonctionné pour Red Hat Enterprise Linux Server version 6.4

sudo yum install mysql-devel
sudo yum install python-devel
pip install mysql-python

Comment je l'ai fait fonctionner:

virtualenv -p python3.5 env/test

Après avoir trouvé mon env:

pip install pymysql
pip install django

Ensuite, j'ai lancé le startproject et à l'intérieur du manage.py, j'ai ajouté ceci:

+ try:
+     import pymysql
+     pymysql.install_as_MySQLdb()
+ except:
+     pass

En outre, mis à jour ces paramètres à l'intérieur:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'foobar_db',
        'USER': 'foobaruser',
        'PASSWORD': 'foobarpwd',
    }
}

J'ai aussi configparser==3.5.0 installé dans mon virtualenv, je ne sais pas si c'était nécessaire ou non ...

J'espère que cela aide,


Essayez ceci les commandes ci-dessous. Ils travaillent pour moi:

brew install mysql-connector-c 
pip install MySQL-python

Essayez ceci: Cela a résolu le problème pour moi.

pip installe MySQL-python


J'ai eu la même erreur et pip install MySQL-python résolu pour moi.

Autres installations:

  • Si vous n'avez pas pip, easy_install MySQL-python devrait fonctionner.
  • Si votre python est géré par un système de packaging, vous devrez peut-être utiliser ce système (par exemple sudo apt-get install ... )

Ci-dessous, Soli note que si vous recevez l'erreur suivante:

EnvironmentError: mysql_config not found

... alors vous avez un autre problème de dépendance du système. La résolution variera d'un système à l'autre, mais pour les systèmes dérivés de Debian:

sudo apt-get install python-mysqldb


J'ai eu le même problème sur OSX 10.6.6. Mais juste un simple easy_install mysql-python sur le terminal ne le résout pas comme un autre hiccup suivi:

error: command 'gcc-4.2' failed with exit status 1 .

Apparemment, ce problème survient après la mise à niveau de XCode3 (qui est livré en standard avec OSX 10.6) à XCode4. Ce nouveau ver supprime le support pour la construction de l'arc de ppc. Si c'est le même cas, essayez de faire comme suit avant easy_install mysql-python

sudo bash
export ARCHFLAGS='-arch i386 -arch x86_64'
rm -r build
python setup.py build
python setup.py install

Un grand merci à Ned Deily pour cette solution. Vérifier ici


J'ai surmonté le même problème en installant la bibliothèque MySQL-python utilisant pip . Vous pouvez voir le message affiché sur ma console lorsque j'ai modifié mes paramètres de base de données pour la première fois dans settings.py et exécuté la commande makemigrations (La solution suit le message ci-dessous, il suffit de le voir).

  (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

Finalement, j'ai surmonté ce problème comme suit:

(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$ 

L'erreur soulevée ici consiste à importer le module python. Cela peut être résolu en ajoutant le dossier python site-packages à la variable d'environnement $ PYTHONPATH sur OS X. Nous pouvons donc ajouter la commande suivante au fichier .bash_profile:

export PYTHONPATH="$PYTHONPATH:/usr/local/lib/pythonx.x/site-packages/"

* remplace xx avec la version python que vous utilisez


Si vous utilisez python3, essayez ceci (Mon système d'exploitation est Ubuntu 16.04):

sudo apt-get install python3-mysqldb

Vous pouvez installer en tant que pip install mysqlclient


pip n'a pas fonctionné pour moi sur Windows 8 64 bits système. easy_install mysql-python fonctionne pour moi. Vous pouvez utiliser easy_install pour éviter de créer des binaires sur Windows si le pip ne fonctionne pas.


sudo apt-get install python-mysqldb fonctionne parfaitement dans ubuntu

pip install mysql-python déclenche une erreur d'environnement


pip install mysql-python

a soulevé une erreur:

EnvironmentError: mysql_config introuvable

sudo apt-get install python-mysqldb

résolu le problème.