C’est une question très discutée pour les utilisateurs d’OSX 10.6, mais je n’ai pas pu trouver de 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'ai installé Django. Lorsque j'active virtualenv et exécute 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é le MySQL pour Python adaptateur, mais en vain (peut-être que je ne l'ai pas installé correctement?).
Quelqu'un a déjà traité ça?
Ce problème était dû à une installation incomplète/incorrecte de l'adaptateur MySQL pour Python. Plus précisément, j'ai dû modifier le chemin d'accès au fichier mysql_config pour qu'il pointe vers/usr/local/mysql/bin/mysql_config - décrit plus en détail dans cet article: http://dakrauth.com/blog/entry/python- et-Django-setup-mac-os-x-leopard/
J'ai eu la même erreur et pip install MySQL-python
l'a résolu pour moi.
Autres installations:
easy_install MySQL-python
devrait fonctionner.Sudo apt-get install ...
)Soli note ci-dessous que si le message d'erreur suivant s'affiche:
EnvironmentError: mysql_config not found
... alors vous avez un autre problème de dépendance du système. La résolution de ce problème variera d’un système à l’autre, mais pour les systèmes dérivés de Debian:
Sudo apt-get install python-mysqldb
Sous Ubuntu, je devais faire:
Sudo apt-get install python-mysqldb
Ajoutant d’autres réponses, les éléments suivants m’ont aidé à terminer l’installation de 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 ne disposez pas des autorisations appropriées.
Essayez ceci les commandes ci-dessous. Ils travaillent pour moi:
brew install mysql-connector-c
pip install MySQL-python
mysql_config
doit être sur le chemin. Sur Mac, faites
export PATH=$PATH:/usr/local/mysql/bin/
pip install MySQL-python
pip install mysql-python
a généré une erreur:
EnvironmentError: mysql_config introuvable
Sudo apt-get install python-mysqldb
résolu le problème.
Comment je l'ai fait fonctionner:
virtualenv -p python3.5 env/test
Après avoir acheté mon env:
pip install pymysql
pip install Django
Ensuite, j'ai lancé le projet de démarrage et dans le fichier manage.py, j'ai ajouté ceci:
+ try:
+ import pymysql
+ pymysql.install_as_MySQLdb()
+ except:
+ pass
En outre, mis à jour ces paramètres intérieurs:
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 cela était nécessaire ou non ...
J'espère que ça aide,
Essayez ceci: cela a résolu le problème pour moi.
pip installer MySQL-python
Ce qui suit a parfaitement fonctionné pour moi, sous Ubuntu 13.10 64-bit:
Sudo apt-get install libmysqlclient-dev
Sudo apt-get install python-dev
Maintenant, accédez à votre virtualenv (tel que le dossier env) et exécutez les opérations suivantes:
Sudo ./bin/pip install mysql-python
J'ai effectivement trouvé la solution dans une question distincte que je cite ci-dessous:
Si vous avez créé virtualenv avec le commutateur --no-site-packages (valeur par défaut), puis des ajouts installés à l’échelle du système, tels que MySQLdb ne sont pas inclus dans les packages d'environnement virtuel.
Vous devez installer MySQLdb avec la commande pip installée avec le fichier virtualenv. Activez virtualenv avec bin/activate script ou utilisez bin/pip à partir de virtualenv pour installer le fichier Bibliothèque MySQLdb localement aussi.
Vous pouvez également créer un nouveau virtualenv avec les packages de site système inclus à l'aide du commutateur --system-site-package.
Je pense que cela devrait également fonctionner avec OSX. Le seul problème serait d’obtenir une commande équivalente pour installer libmysqlclient-dev
et python-dev
car ils sont nécessaires pour compiler mysql-python
Je suppose.
J'espère que cela t'aides.
Sudo apt-get install python-mysqldb
fonctionne parfaitement à Ubuntu
pip install mysql-python
déclenche une Erreur d'environnement
Cela a fonctionné pour la version 6.4 de Red Hat Enterprise Linux Server
Sudo yum install mysql-devel
Sudo yum install python-devel
pip install mysql-python
Vous pouvez installer en tant que pip install mysqlclient
J'ai effectué la mise à niveau vers OSX Mavericks et Pycharm 3 et commence à obtenir cette erreur.
la commande '/ usr/bin/clang' a échoué avec le statut de sortie 1.
J'ai donc besoin de mettre à jour vers Xcode 5 et d'essayer à nouveau d'installer à l'aide de pip.
pip install mysql-python
Cela règle tous les problèmes.
pip
n'a pas fonctionné pour moi sur le système Windows 8 64 bits. easy_install mysql-python
fonctionne pour moi . Vous pouvez utiliser easy_install
pour éviter la construction de binaires sur Windows si pip ne fonctionne pas.
L'erreur soulevée ici est lors de l'importation du module python. Pour résoudre ce problème, ajoutez le dossier python site-packages à la variable d'environnement $ PYTHONPATH sous OS X. Nous pouvons donc ajouter la commande suivante au fichier .bash_profile:
export PYTHONPATH="$PYTHONPATH:/usr/local/lib/pythonx.x/site-packages/"
* remplacez x.x par la version de 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
J'ai eu le même problème sur OSX 10.6.6. Mais un simple easy_install mysql-python
sur le terminal ne le résout pas, un autre hoquet suit:
error: command 'gcc-4.2' failed with exit status 1
.
Apparemment, ce problème se pose après la mise à niveau de XCode3 (livré nativement avec OSX 10.6) vers XCode4. Cette nouvelle version supprime la prise en charge de la construction de ppc Arch. Si c'est le même cas, essayez de procéder 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
Merci beaucoup à Ned Deily pour cette solution. Vérifier ici
J'ai surmonté le même problème en installantMySQL-python
library en 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 les commandes settings.py et makemigrations exécutées (la solution suit le message ci-dessous, voyez-le seulement).
(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
Enfin j'ai résolu 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$
Exécuter cette commande
Sudo pip install mysql-python;
Maintenant, vous pouvez exécuter votre commande.
python manage.py startapp filename;
Installer les outils de ligne de commande fonctionne pour moi:
xcode-select --install
Pour moi, le problème a été résolu en réinstallant simplement mysql-python
pip uninstall mysql-python
pip install mysql-python
J'ai rencontré des situations similaires à la vôtre, telles que j'utilise python3.7 et Django 2.1 dans virtualenv sur mac osx. Essayez de lancer la commande:
pip install mysql-python
pip install pymysql
Et éditez le fichier __init__.py
dans votre dossier de projet et ajoutez ce qui suit:
import pymysql
pymysql.install_as_MySQLdb()
Puis exécutez: python3 manage.py runserver
Ou python manage.py runserver