Ich versuche, OpenStack Dashboard anhand dieser Anleitung von git aus zu installieren: http://wiki.openstack.org/OpenStackDashboard
Aber wenn ich diesen Befehl ausführen, um die Datenbank zu synchronisieren:
$ tools/with_venv.sh openstack-dashboard/manage.py syncdb
Es gibt Folgendes zurück:
File "/home/user1/horizon/.venv/local/lib/python2.7/sitepackages/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 das Paket " python-mysqldb " mehrmals installiert, aber es hat immer noch diesen Fehler ausgelöst. Wenn ich renne:
>>> MySQLdb importieren
in python Interpreter ist es in Ordnung!
Und ich habe versucht, über easy_install zu installieren, aber MySQL-Python ist installiert:
$ Sudo easy_install MySQL-python
Suche nach MySQL-Python
Beste Übereinstimmung: MySQL-Python 1.2.3 MySQL-Python 1.2.3 ist bereits die aktive Version in easy-install.pth
Verwenden von /usr/lib/pymodules/python2.7
Verarbeitungsabhängigkeiten für MySQL-Python
Verarbeitungsabhängigkeiten für MySQL-Python wurden beendet
Hier ist der Inhalt von tools/with_venv.sh
#!/bin/bash
TOOLS=`dirname $0`
VENV=$TOOLS/../.venv
source $VENV/bin/activate && [email protected]
Beim Ausführen von: tools/with_venv.sh wird nichts zurückgegeben.
Was ist los in meinem Fall?
Diese Frage habe ich auch im Launchpad gestellt. Gott sei Dank helfen sie mir, dieses Problem zu lösen. https://answers.launchpad.net/horizon/+question/189051
Führen Sie diesen Befehl aus, um MySQL-Python zu installieren
$ tools/with_venv.sh pip install MySQL-python
@ Ken: Danke. Du hast recht. Aber ich verstehe nicht, was der Unterschied zwischen easy_install und pip ist ! Ich werde es später überprüfen.
Mit virtualenv haben Sie Ihre eigene Umgebung speziell für diese Anwendung. Wenn Sie --no-site-packages
verwenden, werden keine Systemmodule verwendet, die außerhalb der Standardbibliothek installiert sind.
Die Lösung besteht darin, die virtuelle Umgebung zu aktivieren und dort zu installieren. Versuchen Sie so etwas:
cd (project directory)
source bin/activate
easy_install MySQL-python
Auf diese Weise installieren Sie MySQLdb in der eigenen virtuellen Umgebung des Projekts und es wird von der systemweiten Installation getrennt. Der Vorteil von virtualenv besteht darin, dass Sie mehrere Softwareversionen genau dort aufbewahren können, wo Sie sie benötigen.