10
votes

Problèmes d'installation MySQL-Python (sur Mac OS X Lion)

J'ai tout installé avec succès, alors j'ai pensé:

  • mysql 5.5 pour x86_64.
  • Python 2.7, X86_64.
  • MySQL-Python 1.2.3, X86_64.

    mais quand j'essaie: xxx

    i get: xxx

    Que puis-je être manquant?

    Mon système est bien sûr de la version 64 bits, uname -a donne: xxx

    Je pense avoir Lisez la plupart des réponses et des résultats de Google sur le sujet, ne peuvent penser à rien d'autre à essayer. Toute suggestion serait appréciée.


2 commentaires

Pouvez-vous faire un fichier /users/aj/.pytthon-eggs/mysql_python-1.2.3-py2.7-macosx-10.6- ix86_64.eg-tmp / _mys ql.so ?


Oui, cela donne: /users/aj/.pytthon-eggs/mysql_python-1.2.3-py2.7-macosx-10.6- ix86_64.EGG-TMP / _MYS QL.SO: Bundle Mach-O i386 , comment cela peut-il être possible?


5 Réponses :


11
votes

Je pense qu'il pourrait y avoir de légères bizarreries avec le faire sur Mac 64 bits (et si vous avez Google, ce problème montre aussi beaucoup).

Je l'ai rencontré et il y a quelques choses que vous pouvez faire:

remplacer l'environnement

Vous pouvez modifier la variable d'environnement dyld_library_path , qui indique à la liaison où rechercher des bibliothèques dynamiques (fichiers .so et telle). Vous avez dit que vous avez également téléchargé la version 64 bits de MySQL, alors où elle est installée, changez le chemin que vous voyez ici:

dans une coquille:

export dyld_library_path = / USR / local / mysql / lib /

puis exécutez python et voyez si vous pouvez importer mysqldb .

Si cela fonctionne, vous pouvez rendre cela permanent en modifiant votre profil de shell ( .bash_profile , très probablement).

Utilisez Homebrew

Je n'aime pas vraiment vous charger de vous assurer que MySQL et Python et tout ce qui sont des architectures correctes et les installer séparément. Je gère homebrew , qui est une sorte de gestionnaire de packages pour Mac. Si vous installez cela, vous pouvez assez facilement prendre soin de ce problème:

  • Brew Installez Python
  • Brew Installez MySQL
  • / usr / local / partager / python / easy_install mysql-python

    Notez que Homebrew s'installe dans / usr / local , vous devez donc ajouter / usr / local / bin à votre chemin , à l'avance de / usr / bin et / bin , sinon vous serez vraiment confus pourquoi python est différent.

    Vous pouvez ajouter / usr / local / share / python à votre page aussi, pour le rendre permanent.


2 commentaires

J'ai déchiré mes cheveux pendant la majeure partie d'une journée essayant d'obtenir 64 bits python de jouer sympa avec MySQL 64 bits. Homebrew semble être beaucoup plus facile.


@nflacco - très honnêtement si vous êtes sur un Mac et essayez d'installer des bibliothèques sur votre système qui doivent dépendre d'autres bibliothèques et logiciels à installer, essayez d'abord d'utiliser Homebrew (ou Macports ou Fink ou qu'avez-vous). . J'ai combattu trop de batailles de dépendance avant de l'utiliser. Il a toujours des bords bruts, mais est toujours supérieur à la faire de la dure.



9
votes

Avec l'aide du commentaire de @Birryree j'ai trouvé le problème. Je serais probablement mieux à la suite de la procédure suggérée par @birryree dans sa réponse, mais j'ai déjà essayé cela avant et cela a fonctionné:

Comme suggéré, j'ai fait: p>

sudo ARCHFLAGS='-arch x86_64' python setup.py build
sudo ARCHFLAGS='-arch x86_64' python setup.py install


1 commentaires

Cool que vous avez travaillé. Vous pouvez accepter votre propre réponse pour les futurs lecteurs. :)



3
votes

très important!

Comme mentionné ci-dessus, assurez-vous d'exécuter la version 64 bits de MySQL Il est facile de négliger ce détail surtout si vous êtes mis à niveau de Snow Leopard. (Je l'ai certainement fait).

Si vous n'êtes pas sûr de supprimer la version ancienne de MySQL sur votre système, reportez-vous à cet article: http://johnmcostaiiiii.net/2011/removing-mysql-osx-lion/


1 commentaires

Cela m'a eu. Notez que la pile MAMP de Bitnami est 32 bit seulement.



1
votes

Assurez-vous également que vous exécutez Python 64 bit aussi. J'exécutais MySQL 64 bits et Python 32bits, alors obtenez la "mais la mauvaise architecture" erreur


1 commentaires

Je crois que l'Op a dit qu'il a Python "x86_64", aka 64 bits.



2
votes

J'ai eu le même problème et beaucoup de maux de tête avec MySQLDB après avoir fixé le problème de 64 bits (il se plaignait également d'où est libmysqlclient.18.dylib).

Je pense qu'il est temps de passer au python officiel MySQL Python Connecteur? P>

sudo pip install mysql-connector-python


0 commentaires