首先,是的,我已经看到了这个:
pip install mysql-python因EnvironmentError失败:找不到mysql_config
问题
我正在尝试在Google App Engine项目上使用Django.但是,由于以下原因导致服务器无法正常启动,因此我无法启动:
ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
Run Code Online (Sandbox Code Playgroud)
我做了一些研究,这一切都指向必须安装Mysql-python,因为显然它不在我的系统上.我实际上尝试卸载它并得到了这个:
Cannot uninstall requirement mysql-python, not installed
Run Code Online (Sandbox Code Playgroud)
每当我确实尝试通过以下方式安装时:
sudo pip install MySQL-python
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说明:
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
Run Code Online (Sandbox Code Playgroud)
我已经尝试过跑:
export PATH=$PATH:/usr/local/mysql/bin
Run Code Online (Sandbox Code Playgroud)
但这似乎没有帮助,因为我再次运行安装命令但它仍然失败.
有任何想法吗?
请注意我不是一个虚拟的人.
我在OS X 10.10.5 Yosemite上用Homebrew安装了MySQL和Python.我的Python 2.7 python -> ../Cellar/python/2.7.9/bin/python带有一个符号链接/usr/local/bin/python.
在/usr/local/bin有一个符号链接:
mysql -> ../Cellar/mysql/5.7.9/bin/mysql
在Python shell中:
>>> import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/MySQLdb/__init__.py", line 19, in <module>
import _mysql
ImportError: dlopen(/usr/local/lib/python2.7/site-packages/_mysql.so, 2): Library not loaded: /usr/local/lib/libmysqlclient.18.dylib
Referenced from: /usr/local/lib/python2.7/site-packages/_mysql.so
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
所以我尝试过:
$ sudo unlink /usr/local/lib/libmysqlclient.18.dylib
其次是:
DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH
然后(对理性的绝望):
$ export DYLD_LIBRARY_PATH=/usr/local/Cellar/mysql/5.7.9/lib
但在这两种情况下import MySQLdb仍然试图导入libmysqlclient.18.dylib.
然后我尝试了:
$ pip install -U MySQL-python …
我下载并按照MySQL 5.5.8(http://dev.mysql.com/downloads/mysql/)和MySQLdb python插件的安装说明进行操作.(http://sourceforge.net/projects/mysql-python/)
当我尝试将MySQLdb导入python终端时,我收到以下错误:
Safira:~ yanigisawa$ python --version
Python 2.6.1
Safira:~ yanigisawa$ python -c "import MySQLdb"
Traceback (most recent call last):?
File "<string>", line 1, in <module>
File "build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py", line 19, in <module>
File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 7, in <module>
File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/yanigisawa/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): Library not loaded: libmysqlclient.16.dylib
Referenced from: /Users/yanigisawa/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
Reason: image not found
Safira:~ yanigisawa$
Run Code Online (Sandbox Code Playgroud)
我发现有关堆栈溢出的问题4559699,并按照那里的说明进行操作:
Safira:~ yanigisawa$ echo $DYLD_LIBRARY_PATH
/usr/local/mysql/lib
Safira:~ yanigisawa$ ls -l /usr/local/mysql/lib
total 363224 …Run Code Online (Sandbox Code Playgroud) 我试图在具有以下配置/版本的三个节点的开发 Hadoop 集群上安装和配置 apache Airflow:
\n\nOperating System: Red Hat Enterprise Linux Server 7.7\npython 3.7.3\nanaconda 2\nspark 2.45\n\na)sudo yum install gcc gcc-c++ -y\nb)sudo yum install libffi-devel mariadb-devel cyrus-sasl-devel -y\nc)pip install \'apache-airflow[all]\'\nd)airflow initdb -- airflow.cfgfile was created with SQLlite\nRun Code Online (Sandbox Code Playgroud)\n\n然后我按照下面的命令集使用 mysql 配置它
\n\na) rpm -Uvh\xc2\xa0https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm \nb) sed -i \'s/enabled=1/enabled=0/\' /etc/yum.repos.d/mysql-community.repo \nc) yum --enablerepo=mysql80-community install mysql-community-server \nd) systemctl start mysqld.service\nRun Code Online (Sandbox Code Playgroud)\n\n在 mysql 中完成以下操作
\n\na) CREATE DATABASE airflow CHARACTER SET utf8 COLLATE utf8_unicode_ci; \nb) create user \'airflow\'@\'localhost\' identified by \'Airflow123\'; …Run Code Online (Sandbox Code Playgroud) 我的设置:
我的情况:
我一直在努力让我的设置工作.问题出在mysql-python接口上.最初,我遇到了类似的问题(对于我正在使用的Django)在python中执行import语句:
import MySQLdb
Run Code Online (Sandbox Code Playgroud)
但我读到了这个问题/解决方案,证明它在修复方面是成功的.我安装了django并且它工作得很好但是它遇到了mysql接口的问题.当我点火终端并键入:
>> python manage.py dbshell
Run Code Online (Sandbox Code Playgroud)
生成以下错误:
回溯(最近一次调用最后一次):文件"manage.py",第11行,在execute_manager(settings)文件中"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/ core/management/init .py",第438行,在execute_manager utility.execute()文件中"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/ init .py",第379行,执行self.fetch_command(子命令).run_from_argv(self.argv)文件"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/ core/management/init .py",第261行,在fetch_command中klass = load_command_class(app_name,subcommand)文件"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/init .py",第67行,在load_command_class module = import_module('%s.management.commands.%s'%(app_name,name))文件"/Library/Frameworks/Python.framework/Versions/2.7/ lib/python2.7/site-packages/django/utils/importlib.py",第35行,在import_中 模块 导入(名称)文件"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/core/management/commands/dbshell.py",第4行,来自django.分贝进口连接,DEFAULT_DB_ALIAS文件"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/ INIT py"为,线77,在连接连接= [DEFAULT_DB_ALIAS]文件"/ Library/Frameworks/Python.framework/Versions/2.7/lib /python2.7/site-packages/ django/db/ utils.py ",第92行,在getitem后端= load_backend(db ['ENGINE'])文件"/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/db/utils.py",第33行,在load_backend中返回import_module('.base',backend_name)文件" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django/utils/importlib.py",第35行,在import_module 导入(名称)文件"/ Library/Frameworks/Python中. framework/Versions/2.7/lib/python2.7/site-packages/django/db/backends/mysql/base.py",第14行,在raise I中 mproperlyConfigured("加载MySQLdb模块时出错:%s"%e)django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:dlopen(/Users/adogc45/.python-eggs/MySQL_python-1.2.3-py2.7-macosx -10.6-intel.egg-tmp/_mysql.so,2):未加载库:libmysqlclient.16.dylib引用自:/Users/adogc45/.python-eggs/MySQL_python-1.2.3-py2.7-macosx- 10.6-intel.egg-tmp/_mysql.so原因:未找到图像
现在,我不明白为什么在Python中导入模块不会引发错误,但是在django中使用mysql接口.
顺便说一句,我的settings.py看起来像这样:
DATABASES = {
'default': {
'ENGINE': 'mysql', # Add 'postgresql_psycopg2', 'postgresql', …Run Code Online (Sandbox Code Playgroud) mysql ×5
python ×4
django ×2
macos ×2
mysql-python ×2
airflow ×1
hadoop ×1
homebrew ×1
linux ×1
python-3.x ×1