gpt4 book ai didi

mysql - Mac OS X 10.6、Mysql、Mysql-Python、Django

转载 作者:行者123 更新时间:2023-12-01 00:06:31 25 4
gpt4 key购买 nike

更新:

我看到这篇文章:Python mysqldb on Mac OSX 10.6 not working看到两个选项:

  1. 将 MySQL 客户端库添加到 LD_LIBRARY_PATH

    mysql_config --libs-L/usr/local/mysql/lib -lmysqlclient -lpthread

所以我不需要在这里做任何事情。

  1. 只是要升级到 Python 2.7,然后重新安装 mysqldb。

问题:

成功安装 django 并运行 virtualenvs 环境并使用 sqlite3 创建项目。我想改用mysql来管理数据库。

settings.py

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'blog', # Or path to database file if using sqlite3.
'USER': 'root', # Not used with sqlite3.
'PASSWORD': 'root', # Not used with sqlite3.
'HOST': 'localhost', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
} }

这让我很吃力:表演之后:

sudo python manage.py runserver

我得到的错误是:

 Traceback (most recent call last):
File "manage.py", line 14, in <module>
execute_manager(settings)
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/Library/Python/2.6/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Library/Python/2.6/site-packages/django/core/management/base.py", line 209, in execute
translation.activate('en-us')
File "/Library/Python/2.6/site-packages/django/utils/translation/__init__.py", line 100, in activate
return _trans.activate(language)
File "/Library/Python/2.6/site-packages/django/utils/translation/trans_real.py", line 202, in activate
_active.value = translation(language)
File "/Library/Python/2.6/site-packages/django/utils/translation/trans_real.py", line 185, in translation
default_translation = _fetch(settings.LANGUAGE_CODE)
File "/Library/Python/2.6/site-packages/django/utils/translation/trans_real.py", line 162, in _fetch
app = import_module(appname)
File "/Library/Python/2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Users/james/Projects/current/code/blog/jamesapps/../jamesapps/tagging/__init__.py", line 3, in <module>
from tagging.managers import ModelTaggedItemManager, TagDescriptor
File "/Users/james/Projects/current/code/blog/jamesapps/../jamesapps/apps/tagging/__init__.py", line 3, in <module>
from tagging.managers import ModelTaggedItemManager, TagDescriptor
File "/Users/james/Projects/current/code/blog/blog/django-tagging/tagging/managers.py", line 5, in <module>
File "/Library/Python/2.6/site-packages/django/contrib/contenttypes/models.py", line 1, in <module>
from django.db import models
File "/Library/Python/2.6/site-packages/django/db/__init__.py", line 78, in <module>
connection = connections[DEFAULT_DB_ALIAS]
File "/Library/Python/2.6/site-packages/django/db/utils.py", line 93, in __getitem__
backend = load_backend(db['ENGINE'])
File "/Library/Python/2.6/site-packages/django/db/utils.py", line 33, in load_backend
return import_module('.base', backend_name)
File "/Library/Python/2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Library/Python/2.6/site-packages/django/db/backends/mysql/base.py", line 14, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: dlopen(/Library/Python/2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
Referenced from: /Library/Python/2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg/_mysql.so
Reason: image not found

我的设置是:

Mac OS X 10.6.8 2x2Ghz Dual-Core Intel Xeon
/usr/local/mysql/bin/mysql: Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386): Mach-O executable i386
/usr/bin/python (for architecture ppc7400): Mach-O executable ppc

~/.bash_profile 包含

export PATH=/usr/local/mysql/bin:$PATH
export EDITOR="$HOME/bin/mate -w"
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/

如果我这样做

python shell
import MySQLdb

这什么都不显示。

我已阅读以下帖子和页面,包括更多内容:

 <https://stackoverflow.com/questions/7335853/mysql-python-installation-problems-on-mac-os-x-lion>
<https://stackoverflow.com/questions/1299013/problem-using-mysqldb-symbol-not-found-mysql-affected-rows>
<http://friendlybit.com/tutorial/install-mysql-python-on-mac-os-x-leopard/>

我使用以下命令卸载了 mysql,然后从 .dmg 重新安装:

•   Stop the database server
• sudo rm /usr/local/mysql
• sudo rm -rf /usr/local/mysql*
• sudo rm -rf /Library/StartupItems/MySQLCOM
• sudo rm -rf /Library/PreferencePanes/My*
• edit /etc/hostconfig and remove the line MYSQLCOM=-YES-
• rm -rf ~/Library/PreferencePanes/My*
• sudo rm -rf /Library/Receipts/mysql*
• sudo rm -rf /Library/Receipts/MySQL*
• sudo rm -rf /private/var/db/receipts/*mysql*

使用 pip 卸载 mysql-python,然后从源代码重新编译:

sudo ARCHFLAGS='-arch x86_64' python setup.py build
sudo ARCHFLAGS='-arch x86_64' python setup.py install

我哪里出错了,是因为这个版本的 Mysql-python 的 mysql 客户端配置不正确吗?

最佳答案

sudo ln -s/usr/local/mysql/lib/libmysqlclient.18.dylib/usr/lib/libmysqlclient.18.dylib

关于mysql - Mac OS X 10.6、Mysql、Mysql-Python、Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8695360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com