Python, Brew, et MySQLdb
J'ai été en cours d'exécution python à partir d'une infusion installer. Je suis allé à installer le mysql_python oeuf avec des outils de configuration (installation standard selon mysql_python instructions) et il est installé dans /usr/local/lib/python2.7/site-packages/. Les dépendances traité, etc.
Puis je suis allé à exécuter python console. Je peux importer d'autres choses (par exemple, l'importation de django; impression de django.VERSION fonctionne) mais quand je l'import MySQLdb, j'obtiens l'erreur suivante:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.4-x86_64.egg/MySQLdb/__init__.py", line 19, in <module>
import _mysql
ImportError: dlopen(/usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.4-x86_64.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /usr/local/Cellar/python/2.7.1/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.4-x86_64.egg/_mysql.so
Reason: image not found
Toute idée? Merci beaucoup.
On dirait que vous êtes le mélange natif de OSX Python et à l'Infusion de Python en quelque sorte. Exact commandes d'installation et de sortie serait utile pour résoudre ce problème.
Je pense que j'ai fait. Commandes d'Installation pour mysql_python était très simple, il suffit de faire python setup.py construire; python setup.py installer. Il semble que l'installation de l'œuf a été pour python2.7, mais la console python s'ouvre à partir du mélange dir. Toutes les idées sur la façon de démêler cette confusion?
Lorsque vous avez python setup.py installer a l'aide d'OSX natif de Python ou de Brasser construit Python?
Je pense que j'ai fait. Commandes d'Installation pour mysql_python était très simple, il suffit de faire python setup.py construire; python setup.py installer. Il semble que l'installation de l'œuf a été pour python2.7, mais la console python s'ouvre à partir du mélange dir. Toutes les idées sur la façon de démêler cette confusion?
Lorsque vous avez python setup.py installer a l'aide d'OSX natif de Python ou de Brasser construit Python?
OriginalL'auteur user592419 | 2011-09-10
Vous devez vous connecter pour publier un commentaire.
En essayant de reproduire votre erreur, je n'ai la suite (je suppose, étant un homebrewer, vous avez fait la même chose).
1)
brew install python
installer Python 2.72)
brew install mysql
Pour installer mysql pour le système (ce qui est nécessaire pour les différents pilotes)3) une configuration de mysql par homebrew recommandations
4) Téléchargé mysql_python et décompressé
5) Installé mysql_python à l'aide de
python setup.py install
6) Testé dans une session interactive
python
,import _mysql
Après une marche à travers ces étapes sur Lion, j'ai été incapable de reproduire l'erreur. Maintenant... sur le débogage de votre question.
Quelques points à vérifier:
1) Dans votre terminal lorsque vous tapez
which python
t-il point à votre homebrew installer?2) Gardez à l'esprit que, avec homebrew le site-packages ne sont pas stockés dans la Cave, ils sont stockés dans /usr/local/lib/python2.7/site-packages. Voir cette post pour plus d'info sur le pourquoi. Je n'ai pas eu à ajouter le site-packages' emplacement de mon CHEMIN, mais vous pourriez donner que d'essayer.
3) La dernière chose que j'ai pu suggérer à faire est d'essayer afin d'obtenir easy_install de travailler avec homebrew du python, j'ai dû ajouter /usr/local/share/python sur mon CHEMIN.
MODIFIER
Après re-lecture des messages d'erreur surtout après avoir fait défiler tout le chemin vers la droite, j'ai remarqué qu'il était impossible de charger une base de données mysql de la bibliothèque. Une recherche rapide sur google sur cette bibliothèque, il semblait que lors de l'installation de mysql sur OS X, il peut être difficile de faire un lien vers elle. Essayez et recherchez le fichier
libmysqlclient.18.dylib
et la note en bas du chemin. Après l'installation de mysql via homebrew le mien est :/usr/local/Cellar/mysql/5.5.14/lib
. La commune de fix j'ai vu fixer la variable d'environnementDYLD_LIBRARY_PATH
. Pour plus d'informations où j'ai eu cette découvrez cette site. À l'aide de mon chemin est un exemple, je voudrais ajouter cette ligne à mon .bash_profileexport DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/Cellar/mysql/5.5.14/lib"
Si cela ne fonctionne pas pour vous, je vous recommande de regarder dans la possibilité que mysql n'est pas installé correctement ou est d'avoir des problèmes. Avec cette mentalité espérons que quelque chose va sortir à votre.
Enfin, si vous n'avez pas tout sql databaes encore, pourrais-je vous suggérer de désinstaller mysql et de l'installer via homebrew? Je suis maintenant avoir zéro problèmes avec cette configuration.
n'importe où je run 'python setup.py installer"?
C'est ce que j'aurais cru. J'ai supposé que c'était l'appel de la brassée python, si elle n'était pas que je suis sûr que vous seriez beaucoup d'autres problèmes.
Tant que le setup.py ne pas le faire rien d'anormal. En général, le dist_tools qui crée l'setup.py est fait de sorte qu'il va installer tous les contenus dans l'exécuteur (trouvé par la qui python) site-packages. Après re-lecture du message d'erreur, je pense qu'il en fait peut-être un problème avec mysql, pas de homebrew / python.
Découvrez mon montage. J'ai peut-être trouvé quelques informations utiles pour vous.
OriginalL'auteur Adam Lewis