Найти - Пользователи
Полная версия: mysql для django
Начало » Django » mysql для django
1 2
zlodiak
помогите пожалуйста решить проблему. я пытаюсь использовать mysql и django на linux mint. установил специальный модуль так:
apt-get install python-mysqldb

в результате после попытки создать таблицы:
python ./manage.py syncdb

получаю следующее сообщение об ошибке:
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 17, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb


так же пробовал:
pip install MySQL-python
easy_install MySQL-python

не помогло. в чём может быть проблема?

вот ещё:
(mailsender_env)kalinin@kalinin ~/.virtualenvs/mailsender_project/mailsender $ pip install MySQL-python
Downloading/unpacking MySQL-python
  Downloading MySQL-python-1.2.5.zip (108kB): 108kB downloaded
  Running setup.py (pathhome/kalinin/.virtualenvs/mailsender_project/mailsender_env/build/MySQL-python/setup.py) egg_info for package MySQL-python
    sh: 1: mysql_config: not found
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/build/MySQL-python/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 43, in get_config
        libs = mysql_config("libs_r")
      File "setup_posix.py", line 25, in mysql_config
        raise EnvironmentError("%s not found" % (mysql_config.path,))
    EnvironmentError: mysql_config not found
    Complete output from command python setup.py egg_info:
    sh: 1: mysql_config: not found
Traceback (most recent call last):
  File "<string>", line 17, in <module>
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/build/MySQL-python/setup.py", line 17, in <module>
    metadata, options = get_config()
  File "setup_posix.py", line 43, in get_config
    libs = mysql_config("libs_r")
  File "setup_posix.py", line 25, in mysql_config
    raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
----------------------------------------
Cleaning up...
Command python setup.py egg_info failed with error code 1 in /home/kalinin/.virtualenvs/mailsender_project/mailsender_env/build/MySQL-python
Storing debug log for failure in /home/kalinin/.pip/pip.log

EnvironmentError: mysql_config not found как с этим бороться? такое не помогает
GreyZmeem
zlodiak
EnvironmentError: mysql_config not found
Установите libmysqlclient-dev
apt-get install python-mysqldb
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
Вы уверены что установили python-mysqldb именно в virtualenv?
zlodiak
GreyZmeem, да вроде уверен.
(mailsender_env)kalinin@kalinin ~/.virtualenvs/mailsender_project/mailsender_env/bin $ sudo apt-get install python-mysqldb
[sudo] password for kalinin: 
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
python-mysqldb is already the newest version.
Следующие пакеты устанавливались автоматически и больше не требуются:
  libgsoap4 liblcms2-2:i386 libvncserver0 ocl-icd-libopencl1:i386
Для их удаления используйте «apt-get autoremove».
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 438 пакетов не обновлено.
(mailsender_env)kalinin@kalinin ~/.virtualenvs/mailsender_project/mailsender_env/bin $ 
GreyZmeem
Нет, через apt-get вы устанавливаете этот пакет глобально в системе, который из virtualenv не видно. Установите его используя pip, после активации virtualenv'а.
zlodiak
(mailsender_env)kalinin@kalinin ~/.virtualenvs/mailsender_project/mailsender_env/bin $ pip install MySQL-python
Downloading/unpacking MySQL-python
  Downloading MySQL-python-1.2.5.zip (108kB): 108kB downloaded
  Running setup.py (pathhome/kalinin/.virtualenvs/mailsender_project/mailsender_env/build/MySQL-python/setup.py) egg_info for package MySQL-python
    
Installing collected packages: MySQL-python
  Running setup.py install for MySQL-python
    building '_mysql' extension
    x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -g -DNDEBUG
    _mysql.c:29:20: fatal error: Python.h: No such file or directory
     #include "Python.h"
                        ^
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    Complete output from command /home/kalinin/.virtualenvs/mailsender_project/mailsender_env/bin/python2.7 -c "import setuptools, tokenize;__file__='/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/build/MySQL-python/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-7Ra8Ci-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/kalinin/.virtualenvs/mailsender_project/mailsender_env/include/site/python2.7:
    running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying _mysql_exceptions.py -> build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/__init__.py -> build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/converters.py -> build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/connections.py -> build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/cursors.py -> build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/release.py -> build/lib.linux-x86_64-2.7/MySQLdb
copying MySQLdb/times.py -> build/lib.linux-x86_64-2.7/MySQLdb
creating build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/__init__.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/CR.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/ER.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/FLAG.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/REFRESH.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
copying MySQLdb/constants/CLIENT.py -> build/lib.linux-x86_64-2.7/MySQLdb/constants
running build_ext
building '_mysql' extension
creating build/temp.linux-x86_64-2.7
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -g -DNDEBUG
_mysql.c:29:20: fatal error: Python.h: No such file or directory
 #include "Python.h"
                    ^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Cleaning up...
Command /home/kalinin/.virtualenvs/mailsender_project/mailsender_env/bin/python2.7 -c "import setuptools, tokenize;__file__='/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/build/MySQL-python/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-7Ra8Ci-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/kalinin/.virtualenvs/mailsender_project/mailsender_env/include/site/python2.7 failed with error code 1 in /home/kalinin/.virtualenvs/mailsender_project/mailsender_env/build/MySQL-python
Storing debug log for failure in /home/kalinin/.pip/pip.log

вот что в логе:
Exception information:
Traceback (most recent call last):
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/pip/basecommand.py", line 1$
    status = self.run(options, args)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/pip/commands/install.py", l$
    requirement_set.install(install_options, global_options, root=options.root_path)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/pip/req.py", line 1435, in $
    requirement.install(install_options, global_options, *args, **kwargs)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/pip/req.py", line 706, in i$
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/pip/util.py", line 697, in $
    % (command_desc, proc.returncode, cwd))
InstallationError: Command /home/kalinin/.virtualenvs/mailsender_project/mailsender_env/bin/python2.7 -c "import setuptools, token$
GreyZmeem
sudo apt-get install python-dev
После этого попробуйте еще раз
zlodiak
к сожжалению отпять нет конфига:
(mailsender_env)kalinin@kalinin ~/.virtualenvs/mailsender_project $ sudo apt-get install python-dev
[sudo] password for kalinin: 
Sorry, try again.
[sudo] password for kalinin: 
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  libgsoap4 liblcms2-2:i386 libvncserver0 ocl-icd-libopencl1:i386
Для их удаления используйте «apt-get autoremove».
Будут установлены следующие дополнительные пакеты:
  libpython-dev libpython2.7-dev python2.7-dev
НОВЫЕ пакеты, которые будут установлены:
  libpython-dev libpython2.7-dev python-dev python2.7-dev
обновлено 0, установлено 4 новых пакетов, для удаления отмечено 0 пакетов, и 438 пакетов не обновлено.
Необходимо скачать 22,3 MБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 34,2 MB.
Хотите продолжить? [Д/н] 
Получено:1 http://archive.ubuntu.com/ubuntu/ trusty/main libpython2.7-dev amd64 2.7.6-8 [22,0 MB]
Получено:2 http://archive.ubuntu.com/ubuntu/ trusty/main libpython-dev amd64 2.7.5-5ubuntu3 [7 078 B]                             
Получено:3 http://archive.ubuntu.com/ubuntu/ trusty/main python2.7-dev amd64 2.7.6-8 [269 kB]                                     
Получено:4 http://archive.ubuntu.com/ubuntu/ trusty/main python-dev amd64 2.7.5-5ubuntu3 [1 166 B]                                
Получено 22,3 MБ за 37с (593 kБ/c)                                                                                                
Выбор ранее не выбранного пакета libpython2.7-dev:amd64.
(Чтение базы данных … на данный момент установлено 162422 файла и каталога.)
Preparing to unpack …/libpython2.7-dev_2.7.6-8_amd64.deb ...
Unpacking libpython2.7-dev:amd64 (2.7.6-8) ...
Выбор ранее не выбранного пакета libpython-dev:amd64.
Preparing to unpack …/libpython-dev_2.7.5-5ubuntu3_amd64.deb ...
Unpacking libpython-dev:amd64 (2.7.5-5ubuntu3) ...
Выбор ранее не выбранного пакета python2.7-dev.
Preparing to unpack …/python2.7-dev_2.7.6-8_amd64.deb ...
Unpacking python2.7-dev (2.7.6-8) ...
Выбор ранее не выбранного пакета python-dev.
Preparing to unpack …/python-dev_2.7.5-5ubuntu3_amd64.deb ...
Unpacking python-dev (2.7.5-5ubuntu3) ...
Processing triggers for man-db (2.6.7.1-1) ...
Настраивается пакет libpython2.7-dev:amd64 (2.7.6-8) …
Настраивается пакет libpython-dev:amd64 (2.7.5-5ubuntu3) …
Настраивается пакет python2.7-dev (2.7.6-8) …
Настраивается пакет python-dev (2.7.5-5ubuntu3)(mailsender_env)kalinin@kalinin ~/.virtualenvs/mailsender_project $ 
(mailsender_env)kalinin@kalinin ~/.virtualenvs/mailsender_project/mailsender $ python manage.py syncdb
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
    utility.execute()
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/core/management/base.py", line 280, in execute
    translation.activate('en-us')
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 130, in activate
    return _trans.activate(language)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 188, in activate
    _active.value = translation(language)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 177, in translation
    default_translation = _fetch(settings.LANGUAGE_CODE)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/utils/translation/trans_real.py", line 159, in _fetch
    app = import_module(appname)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/contrib/admin/__init__.py", line 6, in <module>
    from django.contrib.admin.sites import AdminSite, site
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/contrib/admin/sites.py", line 4, in <module>
    from django.contrib.admin.forms import AdminAuthenticationForm
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/contrib/admin/forms.py", line 6, in <module>
    from django.contrib.auth.forms import AuthenticationForm
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/contrib/auth/forms.py", line 17, in <module>
    from django.contrib.auth.models import User
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/contrib/auth/models.py", line 48, in <module>
    class Permission(models.Model):
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/db/models/base.py", line 96, in __new__
    new_class.add_to_class('_meta', Options(meta, **kwargs))
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/db/models/base.py", line 264, in add_to_class
    value.contribute_to_class(cls, name)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/db/models/options.py", line 124, in contribute_to_class
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
    return getattr(connections[DEFAULT_DB_ALIAS], item)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/db/utils.py", line 198, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/db/utils.py", line 113, in load_backend
    return import_module('%s.base' % backend_name)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
    __import__(name)
  File "/home/kalinin/.virtualenvs/mailsender_project/mailsender_env/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 17, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
(mailsender_env)kalinin@kalinin ~/.virtualenvs/mailsender_project/mailsender $ 

охх грехи мои тяжкие…
alchemist
sudo apt-get install build-essential python-dev libmysqlclient-dev python-pip
sudo pip install MySQL-python
zlodiak
неа
alchemist
zlodiak
неа
ну и что неа?

Лучше текст ошибки дал.
Я же на чистом лине попробовал команду и у меня все заработало.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB