Подтвердить что ты не робот

Как установить пакет MySQLdb? (ImportError: нет модуля с именем setuptools)

Я пытаюсь установить пакет 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?

Спасибо.

4b9b3361

Ответ 1

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

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

Ответ 3

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

yum install python-setuptools

Я надеюсь, что это поможет.

Ответ 4

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

  • Загрузите соответствующий 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, если вы просто установите его для текущего пользователя. Вам определенно понадобится установить его для всех пользователей.

Ответ 5

@main:

$ su
$ yum install MySQL-python

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

Ответ 6

#!/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)

Ответ 7

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

apt-get install python2.7-mysqldb

Ответ 8

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

Ответ 9

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

Ответ 10

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

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

Ответ 11

Когда вам нужно установить модули в Linux/Unix, и вам не хватает прав sudo/admin, один простой способ - использовать установку схемы пользователя, в основном запустить

"python setup.py install --user" из командной строки в папке модуля/библиотеки, которая будет установлена ​​

(подробнее см. http://docs.python.org/install/index.html)