Dies ist ein viel besprochenes Problem für Benutzer von OSX 10.6, aber ich konnte keine funktionierende Lösung finden. Hier ist mein Setup:
Python 2.6.1 64bit Django 1.2.1 MySQL 5.1.47 osx10.6 64bit
Ich erstelle einen virtualenvwrapper mit --no-site-packages und installiere dann Django. Wenn ich die virtualenv aktiviere und python manage.py syncdb starte, erhalte ich diesen Fehler:
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
Ich habe auch den MySQL for Python adapter installiert, aber ohne Erfolg (vielleicht habe ich es falsch installiert?).
Hat sich schon mal jemand damit beschäftigt?
Dieses Problem war das Ergebnis einer unvollständigen/falschen Installation des MySQL for Python-Adapters. Insbesondere musste ich den Pfad zur Datei mysql_config so bearbeiten, dass er auf/usr/local/mysql/bin/mysql_config verweist - in diesem Artikel genauer beschrieben: http://dakrauth.com/blog/entry/python- and-Django-setup-mac-os-x-leopard/
Ich hatte den gleichen Fehler und pip install MySQL-python
hat es für mich gelöst.
Alternative Installationen:
easy_install MySQL-python
funktionieren.Sudo apt-get install ...
).Soli stellt im Folgenden fest, dass folgende Fehlermeldung angezeigt wird:
EnvironmentError: mysql_config not found
... dann haben Sie ein weiteres Problem mit der Systemabhängigkeit. Die Lösung dieses Problems variiert von System zu System, jedoch für von Debian abgeleitete Systeme:
Sudo apt-get install python-mysqldb
Unter Ubuntu musste ich Folgendes tun:
Sudo apt-get install python-mysqldb
Neben anderen Antworten half mir das Folgende, um die Installation von mysql-python abzuschließen:
virtualenv, mysql-python, pip: Weiß jemand wie?
Auf Ubuntu ...
apt-get install libmysqlclient-dev
apt-get install python-dev
pip install mysql-python
Vergessen Sie nicht, am Anfang von Befehlen 'Sudo' hinzuzufügen, wenn Sie nicht über die erforderlichen Berechtigungen verfügen.
Versuchen Sie dies mit den folgenden Befehlen. Sie arbeiten für mich:
brew install mysql-connector-c
pip install MySQL-python
mysql_config
muss sich im Pfad befinden. Auf dem Mac
export PATH=$PATH:/usr/local/mysql/bin/
pip install MySQL-python
pip install mysql-python
hat einen Fehler ausgelöst:
EnvironmentError: mysql_config wurde nicht gefunden
Sudo apt-get install python-mysqldb
das Problem behoben.
Wie ich es zum Laufen gebracht habe:
virtualenv -p python3.5 env/test
Nachdem ich mein env gekauft habe:
pip install pymysql
pip install Django
Dann habe ich das Startprojekt ausgeführt und in manage.py folgendes hinzugefügt:
+ try:
+ import pymysql
+ pymysql.install_as_MySQLdb()
+ except:
+ pass
Auch diese Einstellungen in den Einstellungen aktualisiert:
DATABASES = {
'default': {
'ENGINE': 'Django.db.backends.mysql',
'NAME': 'foobar_db',
'USER': 'foobaruser',
'PASSWORD': 'foobarpwd',
}
}
Ich habe auch configparser==3.5.0
in meiner virtualenv installiert, nicht sicher, ob dies erforderlich war oder nicht ...
Ich hoffe es hilft,
Versuchen Sie folgendes: Dies hat das Problem für mich gelöst.
pip installiere MySQL-Python
Folgendes funktionierte perfekt für mich mit Ubuntu 13.10 64-Bit:
Sudo apt-get install libmysqlclient-dev
Sudo apt-get install python-dev
Navigieren Sie nun zu Ihrer virtuellen Umgebung (z. B. zum Ordner env) und führen Sie Folgendes aus:
Sudo ./bin/pip install mysql-python
Ich habe tatsächlich die Lösung in einer separaten Frage gefunden und zitiere sie unten:
Wenn Sie die virtualenv mit dem Schalter --no-site-packages erstellt haben, wechseln Sie (Standardeinstellung) und systemweit installierte Zusätze wie MySQLdb sind nicht in den Paketen der virtuellen Umgebung enthalten.
Sie müssen MySQLdb mit dem Befehl pip installieren, der mit .__ installiert ist. Virtualenv. Aktivieren Sie entweder die Virtualenv mit der Bin/enable Skript oder verwenden Sie bin/pip aus der virtuellen Umgebung, um die .__ zu installieren. MySQLdb-Bibliothek auch lokal.
Erstellen Sie alternativ eine neue Virtualenv mit System-Site-Packages mit dem Schalter --system-site-package enthalten.
Ich denke, das sollte auch mit OSX funktionieren. Das einzige Problem wäre, einen äquivalenten Befehl für die Installation von libmysqlclient-dev
und python-dev
zu erhalten, da sie zum Kompilieren von mysql-python
benötigt werden.
Hoffe das hilft.
Sudo apt-get install python-mysqldb
funktioniert perfekt in Ubuntu
pip install mysql-python
führt zu einem Umgebungsfehler
Dies funktionierte für Red Hat Enterprise Linux Server Version 6.4
Sudo yum install mysql-devel
Sudo yum install python-devel
pip install mysql-python
Sie können als pip install mysqlclient
installieren.
Ich habe das Upgrade auf OSX Mavericks und Pycharm 3 durchgeführt und habe angefangen, diesen Fehler zu erhalten. Ich habe Pip und Easy Install verwendet und den Fehler erhalten:
befehl '/ usr/bin/clang' mit Exitstatus 1 fehlgeschlagen.
Ich muss also auf Xcode 5 updaten und versuchte erneut, Pip zu installieren.
pip install mysql-python
Damit sind alle Probleme behoben.
pip
funktionierte bei mir nicht unter Windows 8 64-Bit-System. easy_install mysql-python
funktioniert für mich . Sie können easy_install
verwenden, um das Erstellen von Binärdateien unter Windows zu vermeiden, wenn pip nicht funktioniert.
Der hier aufgetretene Fehler liegt beim Importieren des Python-Moduls. Dies kann durch Hinzufügen des Python-Site-Packages-Ordners zur Umgebungsvariablen $ PYTHONPATH unter OS X gelöst werden. Daher können wir der Datei .bash_profile den folgenden Befehl hinzufügen:
export PYTHONPATH="$PYTHONPATH:/usr/local/lib/pythonx.x/site-packages/"
* Ersetzen Sie x.x durch die von Ihnen verwendete Python-Version
Wenn Sie Python3 verwenden, versuchen Sie Folgendes (Mein Betriebssystem ist Ubuntu 16.04):
Sudo apt-get install python3-mysqldb
Ich hatte das gleiche Problem unter OSX 10.6.6. Aber nur ein einfacher easy_install mysql-python
am Terminal löste es nicht, da ein weiterer Schluckauf folgte:
error: command 'gcc-4.2' failed with exit status 1
.
Anscheinend tritt dieses Problem nach einem Upgrade von XCode3 (der standardmäßig mit OSX 10.6 ausgeliefert wird) auf XCode4 auf. Diese neuere Version entfernt Unterstützung für das Erstellen von PPC-Arch. Wenn es sich um den gleichen Fall handelt, versuchen Sie es wie folgt vor easy_install mysql-python
Sudo bash
export ARCHFLAGS='-Arch i386 -Arch x86_64'
rm -r build
python setup.py build
python setup.py install
Vielen Dank an Ned Deily für diese Lösung. Überprüfe hier
Dasselbe Problem habe ich durch die Installation vonMySQL-python
library mit pip überwunden. Sie können die Nachricht auf meiner Konsole anzeigen, wenn Sie meine Datenbankeinstellungen zum ersten Mal in settings.py geändert und den Befehl makemigrations ausgeführt haben (die Lösung folgt der folgenden Nachricht, sehen Sie einfach das).
(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
Zum Schluss habe ich dieses Problem wie folgt überwunden:
(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$
Führe diesen Befehl aus
Sudo pip install mysql-python;
jetzt kannst du deinen Befehl ausführen.
python manage.py startapp filename;
Install Command Line Tools Works für mich:
xcode-select --install
Für mich wurde das Problem gelöst, indem einfach mysql-python neu installiert wurde
pip uninstall mysql-python
pip install mysql-python
Ich bin auf ähnliche Situationen gestoßen, in denen ich Python3.7 und Django 2.1 in Virtualenv auf Mac OSX verwende. Versuchen Sie den Befehl auszuführen:
pip install mysql-python
pip install pymysql
Bearbeiten Sie die __init__.py
-Datei in Ihrem Projektordner und fügen Sie Folgendes hinzu:
import pymysql
pymysql.install_as_MySQLdb()
Führen Sie dann Folgendes aus: python3 manage.py runserver
Oder python manage.py runserver