2016-08-06 1 views
1

J'ai lu quelques-uns des sujets connexes et a essayé de mettre en œuvre ces solutions à ma situation mais je reçois l'erreur suivante après cette commande:Obtenir Erreur lors de la construction de MySQL pour Python sous Mac OS X El Capitan

(project2_env) Efe-MacBook-Air:MySQL-python-1.2.4b4 efe$ python setup.py build

le message d'erreur est:

Extracting in /var/folders/rv/vbf7xqh1601_xjkrn85w7hp00000gn/T/tmpptpsggg7 
Traceback (most recent call last): 
    File "/Users/efe/virtualenvs/downloads/MySQL-python-1.2.4b4/distribute_setup.py", line 143, in use_setuptools 
    raise ImportError 
ImportError 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "setup.py", line 7, in <module> 
    use_setuptools() 
    File "/Users/efe/virtualenvs/downloads/MySQL-python-1.2.4b4/distribute_setup.py", line 145, in use_setuptools 
    return _do_download(version, download_base, to_dir, download_delay) 
    File "/Users/efe/virtualenvs/downloads/MySQL-python-1.2.4b4/distribute_setup.py", line 125, in _do_download 
    _build_egg(egg, tarball, to_dir) 
    File "/Users/efe/virtualenvs/downloads/MySQL-python-1.2.4b4/distribute_setup.py", line 99, in _build_egg 
    _extractall(tar) 
    File "/Users/efe/virtualenvs/downloads/MySQL-python-1.2.4b4/distribute_setup.py", line 486, in _extractall 
    self.chown(tarinfo, dirpath) 
TypeError: chown() missing 1 required positional argument: 'numeric_owner' 

Edit: Je réinstallée homebrew, puis je lance cette commande suivante. C'est installé avec succès.

brew install mysql 

Cependant, je ne peux toujours pas importer MySQLdb en python.

Répondre

0

Pris du Python2 doc, toujours d'actualité dans 3,5:

« Installation alternative: le système utilisateur

Ce système est conçu pour être la solution la plus pratique pour les utilisateurs qui ne disposent pas d'autorisation d'écriture à la répertoire global-packages site ou ne veulent pas installer en elle, elle est activée avec une option simple:. "

python setup.py install --user 

pourraient aider dans votre cas.

avis Il existe différents schéma d'utilisation: --home ou prefix et --exec préfixe ou --install-base et --install-platbase

+0

encore je reçois la même erreur exacte –

+0

peut-être essayer: 'python setup.py installer --home'. Il semble que vous ayez un problème de permission, mais je ne sais pas quoi faire de plus. – technico

+0

à nouveau n'a pas fonctionné. Merci quand même. –

1

Comme il est plus compliqué que la réponse précédente, je ne vais pas vous parler de l'installation personnalisée de mysql python.

à cet, la manière de Jude:

MySQL via homebrew Installer, vous pouvez installer python mysql via pip.

xcode-select --install 
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 
//don't know how to install mysql via homebrew, but it should be done here 
pip install MySQL-python 

https://stackoverflow.com/a/25356073/6660122

+0

Il s'avère que j'ai déjà homebrew. Ensuite, j'ai essayé 'pip installer MySQL-python' mais maintenant j'ai une erreur différente qui est:' Command "python setup.py egg_info" a échoué avec le code d'erreur 1 dans/private/var/dossiers/rv/vbf7xqh1601_xjkrn85w7hp00000gn/T/pip -build-yi9i16p8/MySQL-python/' –

+1

Avez-vous réussi à (re) installer mysql via homebrew avant? – technico

+0

J'ai désinstallé homebrew, puis l'ai réinstallé. Après cela, j'ai réessayé cette commande: 'pip install MySQL-python' et j'ai une nouvelle erreur différente:' -bash:/Utilisateurs/efe/virtualenvs/project2_env/bin/pip:/Users/efe/virtualenvs/project2_env/bin/python3: mauvais interpréteur: Pas de fichier ou de répertoire –

0

Enfin, je trouve une solution pour moi et par moi-même. J'ai abandonné en utilisant directement la bibliothèque MySQLdb et au lieu de cela, j'ai installé PyMySQL. En passant, j'avais déjà installé MySQL Workbench auparavant, donc le serveur mysql était déjà en cours d'exécution.

Voici ce que je fais étape par étape. J'espère que quelqu'un peut en tirer profit.

1) Créer un environnement virtuel:

virtualenv virt1 

2) Faites votre environnement virtuel activé:

source virt1/bin/activate 

3) Maintenant, vous êtes dans votre environnement virtuel. Installer PyMySQL:

pip install PyMySQL 

4) Maintenant, essayez si votre connexion MySQL est OK ou non d'un simple py exécutable:

#!/usr/bin/python 

import pymysql.cursors 

# Connect to the database 
connection = pymysql.connect(host='localhost', 
          user='YourDBuserName', 
          password='YourDBpassword', 
          db='YourDBname', 
          charset='utf8', 
          cursorclass=pymysql.cursors.DictCursor) 

try: 
    with connection.cursor() as cursor: 
     # Read a single record 
     sql = "SELECT `id`, `name` FROM `YourTableName` WHERE `id`=%s" 
     cursor.execute(sql, (1,)) 
     result = cursor.fetchone() 
     print(result) 
finally: 
    connection.close() 

5) Vous devriez voir que votre première ligne de la table apparaît sur l'écran.

Remarque: La partie "import pymysql.cursors" peut être complexe. D'abord, j'ai écrit "import PyMySQL.cursors" et cela n'a pas fonctionné!