I can't install Python-MySQL, I already tried with easy_install, pip and sources.. And I always get the same error. This is what I get:
Matts-MacBook:Python matt$ sudo easy_install MySQL-python
Searching for MySQL-python
Reading https://pypi.python.org/simple/MySQL-python/
Best match: MySQL-python 1.2.5
Downloading https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python- 1.2.5.zip#md5=654f75b302db6ed8dc5a898c625e030c
Processing MySQL-python-1.2.5.zip
Writing /tmp/easy_install-i14rIs/MySQL-python-1.2.5/setup.cfg
Running MySQL-python-1.2.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-i14rIs/MySQL- python-1.2.5/egg-dist-tmp-mG9d4K
clang: warning: -framework CrashReporterSupport: 'linker' input unused
In file included from _mysql.c:44:
/usr/local/mysql/include/my_config.h:349:11: warning: 'SIZEOF_SIZE_T' macro redefined
#define SIZEOF_SIZE_T SIZEOF_LONG
^
/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/pymacconfig.h:56:17: note:
previous definition is here
# define SIZEOF_SIZE_T 4
^In file included from _mysql.c:44:
/usr/local/mysql/include/my_config.h:443:9: warning: 'HAVE_WCSCOLL' macro redefined
#define HAVE_WCSCOLL
^
/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/pyconfig.h:912:9: note:
previous definition is here
#define HAVE_WCSCOLL 1
^
_mysql.c:1589:10: warning: comparison of unsigned expression < 0 is always false
[-Wtautological-compare]
if (how < 0 || how >= sizeof(row_converters)) {
~~~ ^ ~
3 warnings generated.
ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/System/Library/PrivateFrameworks'
ld: framework not found CrashReporterSupport
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: Setup script exited with error: command 'cc' failed with exit status 1
So while mysql-connector-python page on pypi did not assert compatibility with Python 3.9 at the time of asking, v. 8.0. 22/23 would still work if installed under Python 3.9.
It is sadly known that MYSQL has low compatibility with python.
I've solved the problem as follows:
After installing the OSX command line tools, to install the MySQL-python.
$ xcode-select --install
$ sudo pip install MySQL-python
(Three warning message is issued, but, "Successfully installed MySQL-python" ...)
"import MySQLdb" error from the Python interpreter("image not found" error) has been solved in the following way:
$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/
My environment, "OSX Yosemite, mysql 5.6.21, Python 2.7.8".
Good luck.
It's recommended to use pip
instead of easy-install
, as it's the more advanced solution. See here for reasons.
Since you also get an XCode error you probably don't have the OSX command line tools installed. They are required for compiling MySQL-python
. You can download them from Apple after logging in.
If you should still run into an error, install mysql-client
via homebrew. brew install mysql --client-only
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With