Как установить пакет MySQLdb? (ImportError: нет модуля с именем setuptools) - PullRequest
40 голосов
/ 19 сентября 2009

Я пытаюсь установить пакет MySQLdb. Я нашел исходный код здесь .

Я сделал следующее:

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

В результате я получил следующее:

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

Кто-нибудь знает, как решить эту проблему? Кстати, если я смогу выполнить описанный шаг, мне нужно будет сделать следующее:

sudo python setup.py install

А у меня нет прав системного администратора. У меня все еще есть возможность установить MySQLdb?

Спасибо.

Ответы [ 11 ]

28 голосов
/ 13 марта 2012

Попробовав много предложений, просто использовать sudo apt-get install python-mysqldb сработало для меня.

Дополнительная информация: Получение "Ошибка загрузки модуля MySQLdb: ни один модуль с именем MySQLdb" - пробовал ранее опубликованные решения

16 голосов
/ 19 сентября 2009

Если MySQLdb теперь распространяется способом, требующим setuptools, вы можете либо загрузить последний (например, из здесь ), либо реорганизовать MySQLdb setup.py, чтобы обойти setuptools (возможно, просто импортировать setup и Extension из простого distutils могут работать, но вам также может понадобиться отредактировать некоторые из файлов setup_*.py в том же каталоге).

В зависимости от того, как настроена установка Python на вашем сайте, установка расширений для вашего личного использования без необходимости наличия прав sysadm может быть сложной, но это никогда не бывает по-настоящему невозможно, если у вас есть доступ к оболочке. Вам нужно настроить sys.path вашего Python, чтобы начать с собственного каталога, который является вашим личным эквивалентом общесистемного каталога pacages, например, установив PYTHONPATH постоянно в вашей собственной среде, а затем вручную поместите в указанный личный каталог то, что обычные установки обычно помещают в пакеты сайтов (и / или их подкаталоги).

11 голосов
/ 01 декабря 2010

Я решил эту проблему на centos5.4, выполнив следующую команду для установки setuptools

yum install python-setuptools

Надеюсь, это поможет.

5 голосов
/ 28 сентября 2012

@ главная:

$ su
$ yum install MySQL-python

и он будет установлен (MySQLdb).

5 голосов
/ 19 сентября 2009

Это было довольно сложно и для меня, я сделал следующее, что сработало довольно хорошо.

  • Загрузите соответствующий Python .egg для setuptools (т. Е. Для Python 2.6 вы можете получить его здесь . Получить правильный файл с сайта PyPI здесь .)
  • chmod выполнимое яйцо: chmod a+x [egg] (т. Е. Для Python 2.6, chmod a+x setuptools-0.6c9-py2.6.egg)
  • Выполнить ./[egg] (то есть для Python 2.6, ./setuptools-0.6c9-py2.6.egg)

Не уверен, нужно ли вам использовать sudo, если вы просто устанавливаете его для своего текущего пользователя. Вам определенно понадобится установить его для всех пользователей.

2 голосов
/ 27 февраля 2014

Для Python 2.7 можно легко установить с помощью этого

apt-get install python2.7-mysqldb

2 голосов
/ 08 июня 2010
#!/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)
1 голос
/ 26 июля 2012

хорошая установка компилятора C или GCC не работает, но я нашел способ успешно установить пакет mysqldb

Пожалуйста, следуйте инструкциям Майка Шриба (Спасибо ему) здесь . В моем случае я использовал setuptools-0.6c11-py2.7.egg и setuptools-0.6c11. Затем загрузите исполняемый файл здесь и установите этот файл. надеюсь, это поможет:)

1 голос
/ 25 июля 2012

У меня сейчас такая же проблема. Согласно этой записи вам нужен компилятор C или GCC. Я постараюсь исправить проблему, установив компилятор Си. Я сообщу вам, если это сработает (я думаю, вам это больше не нужно, но я все равно опубликую результаты)

1 голос
/ 12 августа 2010

Также вы можете увидеть зависимости сборки в файле setup.cfg

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...