Как установить пакет MySQLdb? (ImportError: Никакой модуль, названный setuptools)

Только для добавления regex, который является менее сумасшедшим, чем тот, перечисленный @mmaibaum:

^[a-zA-Z]([.]?([a-zA-Z0-9_-]+)*)?@([a-zA-Z0-9\-_]+\.)+[a-zA-Z]{2,4}$ 

Это не является пуленепробиваемым, и конечно не покрывает всю почтовую спецификацию, но это действительно делает достойное задание покрытия наиболее основных требований. Еще лучше это несколько понятно, и может быть отредактировано.

Запертый из обсуждения в HouseOfFusion.com , ресурс ColdFusion мирового класса.

40
задан Verrtex 19 September 2009 в 18:07
поделиться

4 ответа

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

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

16
ответ дан 27 November 2019 в 01:38
поделиться

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

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

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

5
ответ дан 27 November 2019 в 01:38
поделиться
#!/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
ответ дан 27 November 2019 в 01:38
поделиться

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

1
ответ дан 27 November 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: