Impossible d'installer MySQL-python
Bon j'ai récemment mis à niveau de Ubuntu 10.04 à 12.04
Seul à être confronté à beaucoup de problèmes. Je suis un débutant à ce alors vous pourriez avoir à m'en dire un peu plus en détail ou à l'étape-par-étape
J'avais un projet django qui fonctionnait parfaitement mais maintenant, il me donne cette erreur :
File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 16, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
ou en python :
>>> import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "build/bdist.linux-i686/egg/MySQLdb/__init__.py", line 19, in <module>
File "build/bdist.linux-i686/egg/_mysql.py", line 7, in <module>
File "build/bdist.linux-i686/egg/_mysql.py", line 6, in __bootstrap__
ImportError: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
De toute façon je pensais qu'il y ait un problème avec mon MySQL-python, donc j'ai essayé de le réinstaller.
sudo pip install mysql-python
donne :
Downloading/unpacking mysql-python
Running setup.py egg_info for package mysql-python
The required version of distribute (>=0.6.28) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U distribute'.
(Currently using distribute 0.6.24dev-r0 (/usr/lib/python2.7/dist-packages))
Complete output from command python setup.py egg_info:
The required version of distribute (>=0.6.28) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U distribute'.
(Currently using distribute 0.6.24dev-r0 (/usr/lib/python2.7/dist-packages))
----------------------------------------
Command python setup.py egg_info failed with error code 2 in /tmp/pip-build/mysql-python
Storing complete log in /home/nabeel/.pip/pip.log
Si je fais :
sudo easy_install -U distribute
Il donne cette erreur :
Searching for distribute
Reading http://pypi.python.org/simple/distribute/
Reading http://packages.python.org/distribute
Best match: distribute 0.6.29
Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.29.tar.gz#md5=1aad767bfca8bebaccafee25f85696cf
Processing distribute-0.6.29.tar.gz
Running distribute-0.6.29/setup.py -q bdist_egg --dist-dir /tmp/easy_install-K8ZuMX/distribute-0.6.29/egg-dist-tmp-Fj0gj_
Before install bootstrap.
Scanning installed packages
Setuptools installation detected at /usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Egg installation
Patching...
Renaming /usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg to /usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg.OLD.1350776909.4
Patching complete.
Relaunching...
Traceback (most recent call last):
File "/usr/local/bin/easy_install", line 9, in <module>
load_entry_point('distribute==0.6.8', 'console_scripts', 'easy_install')()
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 1708, in main
with_ei_usage(lambda:
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 1696, in with_ei_usage
return f()
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 1712, in <lambda>
distclass=DistributionWithoutHelpCommands, **kw
File "/usr/local/lib/python2.7/distutils/core.py", line 152, in setup
dist.run_commands()
File "/usr/local/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/local/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 236, in run
self.easy_install(spec, not self.no_deps)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 471, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 501, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 680, in install_eggs
return self.build_and_install(setup_script, setup_base)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 957, in build_and_install
self.run_setup(setup_script, setup_base, args)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/command/easy_install.py", line 946, in run_setup
run_setup(setup_script, args)
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/sandbox.py", line 29, in run_setup
lambda: execfile(
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/sandbox.py", line 70, in run
return func()
File "/usr/local/lib/python2.7/site-packages/distribute-0.6.8-py2.7.egg/setuptools/sandbox.py", line 31, in <lambda>
{'__file__':setup_script, '__name__':'__main__'}
File "setup.py", line 131, in <module>
File "/tmp/easy_install-K8ZuMX/distribute-0.6.29/distribute_setup.py", line 368, in _before_install
File "/tmp/easy_install-K8ZuMX/distribute-0.6.29/distribute_setup.py", line 441, in _fake_setuptools
File "/tmp/easy_install-K8ZuMX/distribute-0.6.29/distribute_setup.py", line 450, in _relaunch
NameError: global name '_cmd1' is not defined
De nouveau aujourd'hui, je suis allé sur ce lien :
http://pypi.python.org/pypi/setuptools/0.6c11
pour télécharger et installer setuptools..
J'ai aussi installé la dernière distribuer 0.6.8 à partir d'ici :
http://pypi.python.org/pypi/distribute/0.6.8
J'ai aussi essayé de désinstaller les versions précédentes et l'installation de dos, mais il ne semble pas fonctionner.
J'ai Python 2.7.3 installé
Quelqu'un pourrait-il m'expliquer ce qui se passe... Comment je peux installer Mysqldb...
J'ai aussi couru ces commandes shell :
sudo apt-get install mysql-server mysql-client python-mysqldb libmysqlclient-dev python-dev
Mais il n'a pas aidé ...
MISE À JOUR J'AI JUSTE FAIT CE ET EU CETTE ERREUR :
nabeel@nabeel-pc:~$ pip uninstall setuptools
Uninstalling distribute:
/usr/bin/easy_install
/usr/bin/easy_install-2.7
/usr/lib/python2.7/dist-packages/distribute-0.6.24dev_r0.egg-info
/usr/lib/python2.7/dist-packages/easy_install.pyc
/usr/lib/python2.7/dist-packages/pkg_resources.pyc
/usr/lib/python2.7/dist-packages/setuptools
/usr/lib/python2.7/dist-packages/site.pyc
/usr/share/pyshared/easy_install.py
/usr/share/pyshared/pkg_resources.py
/usr/share/pyshared/site.py
Proceed (y/n)? y
Successfully uninstalled distribute
nabeel@nabeel-pc:~$ sudo easy_install -U distribute
Searching for distribute
Reading http://pypi.python.org/simple/distribute/
Reading http://packages.python.org/distribute
Best match: distribute 0.6.29
Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.29.tar.gz#md5=1aad767bfca8bebaccafee25f85696cf
Processing distribute-0.6.29.tar.gz
Running distribute-0.6.29/setup.py -q bdist_egg --dist-dir /tmp/easy_install-Xcer8d/distribute-0.6.29/egg-dist-tmp-K0E7gP
Before install bootstrap.
Scanning installed packages
Setuptools installation detected at /usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Egg installation
Already patched.
After install bootstrap.
Creating /usr/local/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg-info
Creating /usr/local/lib/python2.7/site-packages/setuptools.pth
Removing distribute 0.6.8 from easy-install.pth file
Adding distribute 0.6.29 to easy-install.pth file
Installing easy_install script to /usr/local/bin
Installing easy_install-2.7 script to /usr/local/bin
Installed /usr/local/lib/python2.7/site-packages/distribute-0.6.29-py2.7.egg
Processing dependencies for distribute
Finished processing dependencies for distribute
nabeel@nabeel-pc:~$ sudo pip install mysql-python
Traceback (most recent call last):
File "/usr/local/bin/pip", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
Mise à JOUR 2 :
J'ai réussi à installer virtualenv
maintenant, dans l'environnement, j'ai aussi réussi à installer MySQLdb.
Voici theh erreur que j'obtiens lors de l'exécution de mon serveur :
sudo python manage.py syncdb
J'obtiens cette erreur:
File "/usr/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 16, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory
(myenv)nabeel@nabeel-pc:~/workspace/gteam/metrics$ python
Python 2.7.3 (default, Oct 6 2012, 21:57:36)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> exit()
source d'informationauteur Anique Akhtar
Vous devez vous connecter pour publier un commentaire.
À l'aide de virtualenv
Premières choses d'abord. Assurez-vous que vous avez Mysql, Setuptools et quelques éléments essentiels:
Maintenant installer VirtualEnv:
Créer un Environnement Virtuel. Comme le la documentation dit:
virtualenv is a tool to create isolated Python environments.
Cela signifie que les chances d'obtenir un conflit sont vraiment petits. Ici "myenv" est le nom d'un dossier dans lequel vous pouvez accéder à votre environnement, afin de créer si vous le souhaitez.Ensuite, allez à "myenv" répertoire et exécuter ce pour l'activer:
Vous devez installer libmysqlclient-dev pour obtenir MySQL-python travail:
Vous êtes maintenant prêt à installer MySQL-python:
et tout devrait fonctionner.
Lorsque vous ne voulez pas travailler dans cet environnement de plus, écrire dans le terminal:
Mise à JOUR:
Depuis cette réponse ne cesse de upvotes, laissez-moi vous montrer comment faire la même chose en utilisant conda, qui est devenu mon préféré de l'environnement de nos jours. Vous devez d'abord installer l'anaconda (je crois que vous pouvez également installer miniconda, qui est une version plus légère qui comprend conda et certains paquets.) Ici vous trouverez le programme d'installation pour Linux, OS X et Windows. C'est un gros fichier, mais contient beaucoup de packages pré-compilés prêt à être installé. En supposant que vous avez déjà installé l'anaconda, vous pouvez simplement exécuter:
mysql-env
est le nom de l'environnement (vous pouvez l'appeler ce que vous voulez) etpython
est la version par défaut de python pour être installé (actuellement, 2.7.10). Sinon, installer d'autres version de python avecconda create -n my-new-env python=3.4
.Ensuite, vous activez votre environnement:
et enfin installer mysql-python:
conda install MySQL-python
(Je pense que
conda install mysql-python
marche aussi)Et c'est tout.
easy_install -U distribute
résolu mon problèmeDans certains Ubuntu installations, vous pourrez également envisager de libmysqlclient-dev:
Elle aussi m'a tenu en arrière. Les autres intervenants probablement elle était déjà installé et ne savais pas que c'était nécessaire.