Как установить пакет 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?
Спасибо.
Ответы
Ответ 1
Если MySQLdb теперь распределен таким образом, который требует setuptools
, ваш выбор - либо загрузить последний (например, здесь), либо рефакторинг MySQLdb setup.py, чтобы обойти setuptools
(возможно, просто импорт setup
и Extension
из plain distutils
может работать, но вам также может потребоваться отредактировать некоторые из файлов setup_*.py
в том же каталоге).
В зависимости от того, как настроена установка Python вашего сайта, установка расширений для вашего индивидуального использования без требования прав sysadm может быть сложной, но никогда не бывает действительно невозможной, если у вас есть доступ к оболочке. Вам нужно будет настроить ваш sys.path Python, чтобы начать с собственного каталога, который соответствует вашему персональному эквиваленту каталога патчей для всей системы, например. постоянно устанавливая PYTHONPATH
в своей собственной среде, а затем вручную помещайте в указанный личный каталог, какие обычные установки обычно размещаются в сайтах-пакетах (и/или их подкаталогах).
Ответ 2
После нескольких предложений, просто используя sudo apt-get install python-mysqldb
, я работал.
Дополнительная информация:
Получение и ошибка загрузки модуля MySQLdb: нет модуля с именем MySQLdb " - попробовали ранее опубликованные решения
Ответ 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)