web-dev-qa-db-fra.com

Comment installer le paquet MySQLdb? (ImportError: Aucun module nommé setuptools)

J'essaye d'installer le paquet MySQLdb. J'ai trouvé le code source ici .

J'ai fait ce qui suit:

gunzip MySQL-python-1.2.3c1.tar.gz
tar xvf MySQL-python-1.2.3c1.tar
cd MySQL-python-1.2.3c1
python setup.py build

Comme résultat, j'ai obtenu ce qui suit:

Traceback (most recent call last):
  File "setup.py", line 5, in ?
    from setuptools import setup, Extension
ImportError: No module named setuptools

Est-ce que quelqu'un sait comment résoudre ce problème? En passant, si je suis capable de faire l'étape décrite, je devrai faire ce qui suit:

Sudo python setup.py install

Et je n'ai pas de droits d'administrateur système. Ai-je encore une chance d'installer MySQLdb?

Je vous remercie.

40
Verrtex

Si MySQLdb est maintenant distribué de manière à nécessiter setuptools, vous avez le choix entre télécharger ce dernier (par exemple, à partir de ici ) ou refactoriser le fichier setup.py de MySQLdb pour ignorer setuptools (peut-être simplement importer setup et Extension à partir de plain distutils , mais vous devrez peut-être aussi éditer certains des fichiers setup_*.py du même répertoire).

Selon la configuration de l'installation Python de votre site, il peut être difficile d'installer des extensions pour votre propre usage sans nécessiter de droits d'administrateur système, mais cela n'est jamais vraiment impossible si vous disposez d'un accès Shell. Vous devez modifier le sys.path de votre Python pour commencer avec un répertoire de votre choix qui est votre équivalent personnel du répertoire pacages du site, comme par exemple le système. en définissant PYTHONPATH de manière persistante dans votre propre environnement, puis placez manuellement dans ledit répertoire personnel ce que les installations normales placent normalement dans les packages de site (et/ou leurs sous-répertoires).

16
Alex Martelli

Après avoir essayé de nombreuses suggestions, utiliser simplement Sudo apt-get install python-mysqldb a fonctionné pour moi.

Plus d'informations: "Erreur lors du chargement du module MySQLdb: aucun module nommé MySQLdb" - j'ai essayé les solutions précédemment publiées

28
davidcstevens

J'ai résolu ce problème sur centos5.4 en exécutant la commande suivante pour installer setuptools.

miam installer python-setuptools

J'espère que ça aide.

11
Emtiaz

@principale:

$ su
$ yum install MySQL-python

et il sera installé (MySQLdb).

5
Navid

C’était un peu délicat pour moi aussi, j’ai fait ce qui suit plutôt bien.

  • Téléchargez le fichier .Egg Python approprié pour setuptools (par exemple, pour Python 2.6, vous pouvez l’obtenir ici . Prenez le bon sur le site PyPI ici .)
  • chmod l'œuf doit être exécutable: chmod a+x [Egg] (c'est-à-dire pour Python 2.6, chmod a+x setuptools-0.6c9-py2.6.Egg)
  • Exécutez ./[Egg] (c'est-à-dire pour Python 2.6, ./setuptools-0.6c9-py2.6.Egg)

Vous ne savez pas si vous devrez utiliser Sudo si vous ne l'installez que pour votre utilisateur actuel. Vous en aurez certainement besoin pour l'installer pour tous les utilisateurs.

5
JJ Geewax
#!/usr/bin/env python

import os
import sys
from **distutils.core** import setup, Extension

if sys.version_info < (2, 3):
    raise Error("Python-2.3 or newer is required")

if os.name == "posix":
    from setup_posix import get_config
else: # assume windows
    from setup_windows import get_config

metadata, options = get_config()
metadata['ext_modules'] = [Extension(sources=['_mysql.c'], **options)]
metadata['long_description'] = metadata['long_description'].replace(r'\n', '')
setup(**metadata)
2
varun

Pour Python 2.7, on peut facilement installer en utilisant ceci 

apt-get install python2.7-mysqldb

2
HHH

bien installer le compilateur C ou GCC n'a pas fonctionné mais j'ai trouvé un moyen d'installer avec succès le paquet mysqldb 

veuillez suivre les instructions de Mike schrieb (Merci à lui) ici . Dans mon cas, j'ai utilisé setuptools-0.6c11-py2.7.Egg et setuptools-0.6c11. Ensuite, téléchargez le fichier exécutable ici puis installez ce fichier. J'espère que ça aide :)

1
srh snl

Je rencontre le même problème en ce moment. Selon ce post vous devez avoir un compilateur C ou GCC. Je vais essayer de résoudre le problème en installant le compilateur C. Je vous informerai si cela fonctionne (je suppose que vous n'en avez plus besoin, mais je posterai le résultat quand même) :)

1
srh snl

En outre, vous pouvez voir les dépendances de construction dans le fichier setup.cfg

1
jtrick

Lorsque vous avez besoin d'installer des modules sous Linux/Unix et que vous ne possédez pas de droits Sudo/admin, vous pouvez facilement utiliser l'installation du schéma utilisateur, en exécutant essentiellement 

"python setup.py install --user" à partir de la ligne de commande dans le dossier du module/bibliothèque à installer

(voir http://docs.python.org/install/index.html pour plus de détails)

0
sigi