mysql-python and Snow Leopard
After the upgrade to Snow Leopard, mysql-python cannot be installed through easy_install.
* Install mysql’s x86_64 version from the .dmg file (I had a problem doing this when booted into the 64bit kernel, a 32bit kernel macbook had no problem) With the 64bit kernel, the system reported ‘no mountable file systems’ when trying to mount the .dmg file. A reboot into 32bit mode allowed the .dmg to be mounted and installed.
* Change into your virtual environment if desired, source bin/activate
* fetch MySQL-python-1.2.3c1
tar xzf MySQL-python-1.2.3c1.tar.gz cd MySQL-python-1.2.3c1 ARCHFLAGS='-arch x86_64' python setup.py build ARCHFLAGS='-arch x86_64' python setup.py install
If everything works, you should see:
$ python Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import MySQLdb >>>
Some of the possible things you’ll encounter:
After python setup.py build:
ld: warning: in build/temp.macosx-10.6-universal-2.6/_mysql.o, file is not of required architecture ld: warning: in /usr/local/mysql/lib/libmysqlclient.dylib, file is not of required architecture ld: warning: in /usr/local/mysql/lib/libmygcc.a, file is not of required architecture ld: warning: in build/temp.macosx-10.6-universal-2.6/_mysql.o, file is not of required architecture ld: warning: in /usr/local/mysql/lib/libmysqlclient.dylib, file is not of required architecture ld: warning: in /usr/local/mysql/lib/libmygcc.a, file is not of required architecture
This means that you have the i386 version of mysql installed. Or, if you have the x86_64 version, you have didn’t include the proper ARCHFLAGS command.
ImportError: dynamic module does not define init function (init_mysql)
this means that the easy_install or the build/install process was run which tried to build a ppc/i386/x86_64 combined build.
If you see messages like:
$ python Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import MySQLdb /Users/xxxxx/Python/django/lib/python2.6/site-packages/MySQL_python-1.2.3c1-py2.6-macosx-10.6-universal.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /Users/xxxxx/Python/django/lib/python2.6/site-packages/MySQL_python-1.2.3c1-py2.6-macosx-10.6-universal.egg/_mysql.pyc, but /Users/xxxxx/Python/django/MySQL-python-1.2.3c1 is being added to sys.path >>>
Then you are still in the build directory. cd .. and try again.
Tags: mac os/x, mysql-python, snow leopard, virtualenv
September 2nd, 2009 at 11:48 am
hello
thx for your post, i tried it and i get this :
bash-3.2# ARCHFLAGS=’-arch x86_64′ python setup.py build
running build
running build_py
copying MySQLdb/release.py -> build/lib.macosx-10.6-universal-2.6/MySQLdb
running build_ext
building ‘_mysql’ extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -pipe -Dversion_info=(1,2,3,’gamma’,1) -D__version__=1.2.3c1 -I/usr/local/mysql/include -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _mysql.c -o build/temp.macosx-10.6-universal-2.6/_mysql.o -g -Os -arch x86_64 -fno-common -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL
unable to execute gcc-4.2: No such file or directory
error: command ‘gcc-4.2’ failed with exit status 1
but i can’t get gcc working on my mac snow leopard, any issue ?
thanks
September 5th, 2009 at 1:58 pm
Put in the Snow Leopard Install DVD, go to Optional Installs, double-click Xcode to install it.
Once you’ve done that, you should have gcc and gcc-4.2.
September 6th, 2009 at 11:33 pm
Could you explain a little more about how to correct the “Import Error” issue? I am getting that and I am not sure why. I am running MySQL under 64 bit (using Hivelogic’s instructions: http://hivelogic.com/articles/compiling-mysql-on-snow-leopard/). I am running Apple’s Python 2.6 under 65 bit. I am using the ARCHFLAGS option when I build and install the MySQL-python source. Are there any other areas that I should be looking?
September 7th, 2009 at 1:01 am
If you get the import error mentioning the paths, then you are still in the build directory. Change to a different directory and the path messages should go away. Basically, when you do your import, it finds a copy in your syspath, and, a copy in the directory below where you just built the module. It doesn’t know which to use, so, it is warning you that there were two different imports of the same name found.
September 7th, 2009 at 8:02 pm
Thanks for following up. Nothing about paths:
>>> import MySQLdb
Traceback (most recent call last):
File “”, line 1, in
File “build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py”, line 19, in
File “build/bdist.macosx-10.6-universal/egg/_mysql.py”, line 7, in
File “build/bdist.macosx-10.6-universal/egg/_mysql.py”, line 6, in __bootstrap__
ImportError: dynamic module does not define init function (init_mysql)
Django syncdb doesn’t work either for the same reason.
September 8th, 2009 at 4:17 am
I have installed x86_64 version of MySQL 5.1.38 & that seems to be running fine. I have Xcode 3.1 Beta installed, i686-apple-darwin10-gcc-4.2.1. I am using Python 2.6.2.
the MySQLdb build fails with the following error:
running build
running build_py
copying MySQLdb/release.py -> build/lib.macosx-10.3-fat64-2.6/MySQLdb
running build_ext
building ‘_mysql’ extension
Compiling with an SDK that doesn’t seem to exist: /Developer/SDKs/MacOSX10.4u.sdk
Please check your Xcode installation
gcc -isysroot /Developer/SDKs/MacOSX10.4u.sdk -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -O3 -Dversion_info=(1,2,3,’gamma’,1) -D__version__=1.2.3c1 -I/usr/local/mysql/include -I/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c _mysql.c -o build/temp.macosx-10.3-fat64-2.6/_mysql.o -g -Os -arch x86_64 -fno-common -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL
In file included from pymemcompat.h:10,
from _mysql.c:29:
Any ideas as to what’s going wrong?
September 8th, 2009 at 8:02 am
@discoraver Did you do the XCode install from the Snow Leopard disc?
September 8th, 2009 at 8:10 am
One other strange thing about my issue is that the path referenced in the error message does not seem to exist:
seth-gottliebs-computer:~ sethgottlieb$ python
Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import MySQLdb
Traceback (most recent call last):
File “”, line 1, in
File “build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py”, line 19, in
File “build/bdist.macosx-10.6-universal/egg/_mysql.py”, line 7, in
File “build/bdist.macosx-10.6-universal/egg/_mysql.py”, line 6, in __bootstrap__
ImportError: dynamic module does not define init function (init_mysql)
>>> ^D
seth-gottliebs-computer:~ sethgottlieb$ mdfind -name bdist.macosx-10.6-universal
seth-gottliebs-computer:~ sethgottlieb$
September 8th, 2009 at 6:28 pm
I think in your build directory you have built without the ARCHFLAGS, and then tried to build afterwards. make will not notice the archflags difference and will just try to install based on the object code.
In your build directory, try:
make clean
python setup.py build
python setup.py install
The issue you are having is hidden by easy_install which won’t show you the errors, but, a build SHOULD show you an error. If the build process after make clean shows an error, that is the place to start debugging. I would suspect based on the lines above that you have an old build without the ARCHFLAGS that is just being linked rather than recompiled with the archflags.
September 8th, 2009 at 6:31 pm
@discoraver, you are missing the Snow Leopard SDK which is on the DVD.
/Developer/SDKs/MacOSX10.6.sdk/
Reinstall XCode from the DVD and you should be set. During the upgrade to Snow Leopard, XCode doesn’t get updated.
September 9th, 2009 at 7:56 pm
I’m also running the custom build of MySQL from Hivelogic, and it is running as expected. When I attempt to compile MySQL-Python, I receive this error:
/Developer/SDKs/MacOSX10.4u.sdk/usr/include/stdarg.h:4:25: error: stdarg.h: No such file or directory
error: command ‘gcc’ failed with exit status 1
That’s on a fresh install of XCode from the Snow Leopard DVD. I’m looking right at the directory and file it can’t find right now.
I would really appreciate some pointers!
Cheers,
Brandon
September 9th, 2009 at 8:48 pm
The path you have listed above, lists the SDK for 10.4.
The fact that gcc cannot find that file suggests that the SDK didn’t get installed properly. Did you run the installer, or copy it into the directory?
$ which gcc
/usr/bin/gcc
$ file /usr/bin/gcc
/usr/bin/gcc: Mach-O universal binary with 3 architectures
/usr/bin/gcc (for architecture i386): Mach-O executable i386
/usr/bin/gcc (for architecture ppc7400): Mach-O executable ppc
/usr/bin/gcc (for architecture x86_64): Mach-O 64-bit executable x86_64
$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5646~6/src/configure –disable-checking –enable-werror –prefix=/usr –mandir=/share/man –enable-languages=c,objc,c++,obj-c++ –program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ –with-slibdir=/usr/lib –build=i686-apple-darwin10 –with-gxx-include-dir=/include/c++/4.2.1 –program-prefix=i686-apple-darwin10- –host=x86_64-apple-darwin10 –target=i686-apple-darwin10
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5646)
The SDK included on Snow Leopard is 10.6:
$ ls -al /Developer/SDKs/
total 0
drwxr-xr-x 4 root wheel 136 Aug 31 16:00 .
drwxrwxr-x@ 16 root admin 544 Aug 31 16:04 ..
drwxr-xr-x 7 root wheel 238 Jun 30 02:00 MacOSX10.5.sdk
drwxr-xr-x 7 root wheel 238 Aug 3 04:19 MacOSX10.6.sdk
Something is definitely missing from your installation.
I cannot imagine your path doesn’t include /usr/bin, though, it is possible that the gcc you are using is not the one from the 10.6 SDK.
$ set|grep bin
BASH=/bin/bash
PATH=/sw/bin:/sw/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/X11R6/bin
SHELL=/bin/bash
September 9th, 2009 at 9:03 pm
Hi. I ran the XCode installer straight from the Snow Leopard disc.
My output from your commands is:
iMac:~ bt$ which gcc
/usr/bin/gcc
iMac:~ bt$ file /usr/bin/gcc
/usr/bin/gcc: Mach-O universal binary with 3 architectures
/usr/bin/gcc (for architecture i386): Mach-O executable i386
/usr/bin/gcc (for architecture ppc7400): Mach-O executable ppc
/usr/bin/gcc (for architecture x86_64): Mach-O 64-bit executable x86_64
iMac:~ bt$ gcc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5646~6/src/configure –disable-checking –enable-werror –prefix=/usr –mandir=/share/man –enable-languages=c,objc,c++,obj-c++ –program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ –with-slibdir=/usr/lib –build=i686-apple-darwin10 –with-gxx-include-dir=/include/c++/4.2.1 –program-prefix=i686-apple-darwin10- –host=x86_64-apple-darwin10 –target=i686-apple-darwin10
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5646)
iMac:~ bt$ ls -al /Developer/SDKs/
total 0
drwxr-xr-x 5 root wheel 170 Sep 9 18:41 .
drwxrwxr-x@ 15 root admin 510 Sep 9 18:43 ..
drwxr-xr-x 7 root wheel 238 May 18 12:24 MacOSX10.4u.sdk
drwxr-xr-x 7 root wheel 238 Jun 30 01:00 MacOSX10.5.sdk
drwxr-xr-x 7 root wheel 238 Aug 3 03:19 MacOSX10.6.sdk
iMac:~ bt$ set|grep bin
BASH=/bin/bash
PATH=/sw/bin:/sw/sbin:/Users/bt/source/scala-2.7.4.final/bin:/source/groovy-1.5.6/bin:/source/grails-1.0.3/bin:/usr/local/lib/python2.5/site-packages/django/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/Users/bt/jruby/bin:/usr/local/src/apache-ant-1.7.0/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/local/:/usr/local/pgsql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/X11R6/bin
SHELL=/bin/bash
I’ll try trashing and re-installing XCode.
September 9th, 2009 at 9:32 pm
I really wonder if having the 10.4u sdk is creating the problem.
Can you move that into another directory temporarily. The fact that it keeps finding that sdk is what is causing the problem. If that works, then it might make sense to put a libpath in the python setup.py build process.
September 9th, 2009 at 9:46 pm
Just an update. I am up and working after downgrading to Python 2.6 in 32 bit mode and then following these instructions: http://www.zen-hacking.com/2009/09/01/python-mysql-under-snow-leopard
September 9th, 2009 at 10:09 pm
Same friggin error, even after re-installing XCode. I think I’m going to try downgrading to the 32bit MySQL and going from there. It’s just for my local dev environment anyway, so is no biggie.
What I would love to get working, however, is Django 1.0.3 on Jython 2.5.0 with Postgres.
September 10th, 2009 at 6:48 pm
@ btaylordesign
I was having the same problem with the missing “stdarg.h” (even though the file is there). I ended up pasting the contents of stdarg.h from the 10.6 SDK ( /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/stdarg.h )into that file and was able to then compile it successfully. A BIG warning: I don’t really know what I’m doing (just enough to be dangerous).
I figured out that the contents of the original stdarg.h contained an “#include_next” statement instead of the expected contents of a stdarg.h file. For some reason the compiler coundn’t find the “next” stdarg.h file and was then reporting that as the error.
September 10th, 2009 at 7:54 pm
Hi thedailykittenkrew. No dice for me, I still get the same compiler error.
September 10th, 2009 at 8:54 pm
The thing that seems evident is that everyone that has problems, has the 10.4 SDK installed. If someone can, try moving the 10.4 SDK out of the way and see if it properly compiles. If so, then a libpath needs to be passed to the setup.
September 11th, 2009 at 11:15 pm
Can someone please give an example of how to set the libpath to point to the 10.6 SDK?
September 15th, 2009 at 3:29 pm
I had been having problems today trying to get python and mysql to work nice on SL. These comments helped me find a solution, but it isn’t here. My problems mirrored btaylordesign’s problems: no stdarg.h
If you look at stdarg.h in the 10.4u sdk, it says that gcc uses its own copy of the file. If you peruse the 10.5 sdk and 10.6 sdk, you’ll find gcc4.0 has a very different stdarg.h. These headers aren’t in the 10.4u sdk, nor are there any stdarg.h headers around for gcc4.2. The build is looking for the gcc version of stdarg.h, which doesn’t exist. But if you use gcc4.0.1 then the build will work.
My solution was to change the gcc version used to build to 4.0. This only means I changed the sym link in /usr/bin since gcc_select is no longer in osx. In my case I also took out the _64 since I’m only using the 32 bit versions. Thus:
ARCHFLAGS=’-arch x86′ python setup.py build
I suspect thedailykittenkrew moved the gcc4.0 header file over, not /Developer/SDKs/MacOSX10.5.sdk/usr/include/stdarg.h, which is identical to /Developer/SDKs/MacOSX10.4u.sdk/usr/include/stdarg.h
Hope this helps someone.
September 16th, 2009 at 11:59 pm
CC=/usr/bin/gcc-4.0 python setup.py build
CC=/usr/bin/gcc-4.0 python setup.py install
Might help.
September 17th, 2009 at 2:41 pm
Still no dice for me. Looks like I may need to try re-installing Snow Leopard clean on my iMac, which I want to do anyway, or just use Ubuntu on my laptop which works perfectly :\
September 17th, 2009 at 4:37 pm
Similar to seth gottlieb I was having repeated problems and these directions. I would build according to the instructions but still get:
>>> import MySQLdb
Traceback (most recent call last):
File “”, line 1, in
File “build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py”, line 19, in
File “build/bdist.macosx-10.6-universal/egg/_mysql.py”, line 7, in
File “build/bdist.macosx-10.6-universal/egg/_mysql.py”, line 6, in __bootstrap__
ImportError: dynamic module does not define init function (init_mysql)
After a lot of googling I finally found the problem: python setup.py clean will not actually clean the build/ directory if you’ve built without the proper architecture flags. In order to do this delete everything in the build/ directory with rm * or the like, and then build with the instructions above and everything will work out. cf http://www.mangoorange.com/2008/08/01/installing-python-mysqldb-122-on-mac-os-x/?cp=all comment 10.
September 23rd, 2009 at 12:29 pm
Here we go. I was (kind of, see below) succesful with the following:
1. Install SDK 10.4u from the Snow Leopard DVD (Optional installs -> XCode.mpkg)
2. Do the all the tricks described here: http://www.mangoorange.com/2008/08/01/installing-python-mysqldb-122-on-mac-os-x/?cp=all (NOT SURE THIS IS NEEDED THOUGH).
3. Run the following commands:
sudo python setup.py clean
sudo ARCHFLAGS=’-arch x86′ CC=/usr/bin/gcc-4.0 python setup.py build
sudo ARCHFLAGS=’-arch x86′ CC=/usr/bin/gcc-4.0 python setup.py install
I have the following versions:
* mysql-5.1.38-osx10.5-x86 (32-bit)
* Python 2.6.2
* MySQL-python-1.2.2
HOWEVER, I do get the following error on importing MySQLdb in python:
>>> import MySQLdb
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/MySQL_python-1.2.2-py2.6-macosx-10.3-fat.egg/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated
Don’t know if it matters…
September 27th, 2009 at 4:19 am
[…] More info Filed under: Web Dev, Django @ 1:33 am Comments (30) […]
October 14th, 2009 at 11:17 am
Hi, I’ve been struggling with this for a long time now. I’ve installed x86_64 mysql, built with the arch flags set. Install seems to succeed, but when I import MySQLdb, I get the following error:
>>> import MySQLdb
Traceback (most recent call last):
File “”, line 1, in
File “build/bdist.macosx-10.3-fat/egg/MySQLdb/__init__.py”, line 19, in
File “build/bdist.macosx-10.3-fat/egg/_mysql.py”, line 7, in
File “build/bdist.macosx-10.3-fat/egg/_mysql.py”, line 6, in __bootstrap__
ImportError: dlopen(/Users/granteagon/.python-eggs/MySQL_python-1.2.3c1-py2.6-macosx-10.3-fat.egg-tmp/_mysql.so, 2): Library not loaded: /usr/local/mysql/lib/libmysqlclient_r.16.dylib
Referenced from: /Users/granteagon/.python-eggs/MySQL_python-1.2.3c1-py2.6-macosx-10.3-fat.egg-tmp/_mysql.so
Reason: no suitable image found. Did find:
/usr/local/mysql/lib/libmysqlclient_r.16.dylib: mach-o, but wrong architecture
Any help would be greatly appreciated. -G
October 16th, 2009 at 11:11 am
In order to make it work on my system: Snow leopard i386, I had to force python to run in 32 bits mode. So if you want to use 32 bits mysql version, and you are using python > 2.5 you have to force python to use 32 bit architecture, since by default it uses 64 bits. note: osx 10.6 comes with python 2.6 by default.
You can set it system wide by doing in your console:
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
or just in your session:
export VERSIONER_PYTHON_PREFER_32_BIT=yes
, also I had to force the gcc compiler to use 32 bit architecture when building:
ARCHFLAGS=’-arch i386′
hope it helps someone, it really helped me!
– Pablo
December 3rd, 2009 at 7:24 pm
I had to massage one of the lines that was failing (the infamous 10.4u sdk one) into this:
gcc-4.0 -isysroot /Developer/SDKs/MacOSX10.6.sdk -g -bundle -undefined dynamic_lookup build/temp.macosx-10.3-fat-2.6/_mysql.o -L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc -o build/lib.macosx-10.3-fat-2.6/_mysql.so
and it successfully built and installed. I removed the archflags entirely and it worked.
however when i try to import it…:
Python 2.6.4 (r264:75821M, Oct 27 2009, 19:48:32)
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import MySQLdb
Traceback (most recent call last):
File “”, line 1, in
File “build/bdist.macosx-10.3-fat/egg/MySQLdb/__init__.py”, line 19, in
File “build/bdist.macosx-10.3-fat/egg/_mysql.py”, line 7, in
File “build/bdist.macosx-10.3-fat/egg/_mysql.py”, line 6, in __bootstrap__
ImportError: dynamic module does not define init function (init_mysql)
>>>
Is this due to my omission of the ARCHflags? Any ideas?
December 3rd, 2009 at 7:29 pm
python setup.py clean doesn’t remove the remnants from your previous failed build.
Try
make clean
python setup.py clean
and build it again, or, worst case, remove and unpack the .tgz again and build with the command line you used. I believe the problem exists because you have some .o files from a previous build.
December 4th, 2009 at 2:25 pm
ok, as of dec 3, here is how i got it to work (assembling all the info so far into one spot):
versions:
mysql adapter for python: 1.2.3c1
mysql: 5.1.41 32-bit version
default python for snow leopard: 2.6.1
1.install mysql package: http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg
2. grab mysql adapter for python: http://sourceforge.net/projects/mysql-python/files/
3.in directory for mysql for python:
Edit the setup_posix.py and change the following
mysql_config.path = “mysql_config”
to
mysql_config.path = “/usr/local/mysql/bin/mysql_config”
4. sudo ARCHFLAGS=’-arch i386′ CC=/usr/bin/gcc-4.0 python setup.py build
5. sudo ARCHFLAGS=’-arch i386′ CC=/usr/bin/gcc-4.0 python setup.py install
6. force python to be 32-bit
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
7. python
Greg-Elliotts-Mac-Pro:~ greg$ python
Python 2.6.1 (r261:67515, Jul 7 2009, 23:51:51)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import MySQLdb
>>>
December 29th, 2009 at 9:10 pm
[…] Update 12/27/2009: With MySQL 5.1.41 and Snow Leopard (OS X 10.6), you no longer need to create the lib/mysql directory with symbolic links as described in the above article. Also, since Snow Leopard comes with Python 2.6, the path above for Eclipse should be /Library/Python/2.6/site-packages. I found Geert’s instructions to be quite helpful for Snow Leopard. There’s also a lot of useful info here. […]
December 31st, 2009 at 10:46 am
I had the same problem, then noticed that I was installing with ’sudo’ while building as my regular user.
See: http://websaucesoftware.com/blog/?p=461 and part 2 at http://websaucesoftware.com/blog/?p=462
No need to change to 32 bit mode and screw everything up, just install the one with the right architecture!
January 18th, 2010 at 3:58 am
@jkeane (re comment #24), manually deleting the contents of the build directory fixed my problem with the import error. Really annoying, but thanks for the tip.
January 18th, 2010 at 3:48 pm
[…] dice, still not working. Poking through the comments of the post above, I came across this indicating that re-building doesn’t actually do it from scratch and you need to go into the […]
April 5th, 2010 at 11:54 pm
For the sake of sanity, make sure to use sudo and check python to see if you’re running the correct one if you just installed the newest python. Best way to check it’s archs is to type “file $(which python)” without the quotes and it will tell you. Also be sure that typing “file $(which mysql)” also shows whichever arch type you’re going for. It really does matter if your arch types are different, I’ve spent many hours fiddling with this more than once.
July 21st, 2010 at 7:24 am
This worked for me …
# cd /Developer/SDKs
# sudo ln -s MacOSX10.5.sdk MacOSX10.4u.sdk
March 9th, 2011 at 10:32 pm
[…] is the problem that I struggled most with. I followed the instructions here. The compile and build worked but I could not import the library. I finally solved the problem by […]
April 21st, 2011 at 11:36 am
[Python][Mac] MySQL-Pythonのインストールにはまった件…
はまった事を思い出しながら書いておく。 iMac上にPythonの開発環境を構築していて、MySQLにアクセスするための「MySQL-Python」をインストールしようとしたら、派手にエラーが出てインストールできなかったの対処法をメモ インストール pip install MySQL-Python エラー エ…
May 1st, 2011 at 3:24 am
[…] 最后原文链接 http://cd34.com/blog/programming/python/mysql-python-and-snow-leopard/ […]
February 13th, 2012 at 5:27 am
Install XCode from you OSX DVD, remove any traces of MySQL as listed here (http://stevemoss.posterous.com/uninstalling-mysql-on-os-x), install the latest 64bit MySQL client and then try the following (also add them to your ~/.profile, so they load every time your open a shell).
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/mysql/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib
export ARCHFLAGS=”-arch x86_64″
Then install mysql-python
February 13th, 2012 at 5:28 am
Ah, you need export PATH=$PATH:/usr/local/mysql/bin as well, add that to ~/.profile too :)