I'm new to the Mac OS X, and I'm just about ready to throw my brand new MacBook Pro out the window. Every tutorial on setting up a Django development environment on Mac OS X Leopard is insidiously wrong. They are all skipping over one step, or assuming you have setup something one way, or are just assuming that I know one thing that I must not.
I'm very familiar with how to setup the environment on Ubuntu/Linux, and the only part I'm getting stuck on with OS X is how to install MySQL, autostart it, and install the Python MySQL bindings. I think my mistake was using a hodgepodge of tools I don't fully understand; I used fink to install MySQL and its development libraries and then tried to build the Python-MySQL bindings from source (but they won't build.)
UPDATE: I installed the binary MySQL package from http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg, and I got MySQL server running (can access with admin.) The MySQL version I got from port was rubbish, I could not get it to run at all.
I modified the source for the Python-MySQL package as per the answer I chose, but I still got compilation errors that I listed in the comments. I was able to fix these by adding /usr/local/mysql/bin/ to my path in my "~/.profile" file. " PATH=/usr/local/mysql/bin:$PATH "
Thanks for the help, I was very wary about editing the source code since this operation had been so easy on Ubuntu, but I'll be more willing to try that in the future. I'm really missing Ubuntu's "apt-get" command; it makes life very easy and simple sometimes. I already have an Ubuntu VMware image running on my Mac, so I can always use that as a fallback (plus it more closely matches my production machines so should be a good test environment for debugging production problems.)
Did the MySQL and MySQL-dev installations go smoothly? Can you run MySQL, connect to it and so on? Does /usr/local/mysql/include
contain lots of header files? (I've got 46 header files there, for reference).
If so, MySQL should be good to go. There are still a few manual steps required to compile MySQL-python, however.
This is a decent guide: I've included the salient steps below.
Download the MySQL-python source (v1.2.2 at time of writing: all subsequent instructions are for this version)
$ tar xzf MySQL-python-1.2.2.tar.gz && cd MySQL-python-1.2.2
Edit
_mysql.c
: remove lines 37-39 and change lines 481-482. Here's the diff:37,39d36 < #ifndef uint < #define uint unsigned int < #endif 484,485c481,482 < uint port = MYSQL_PORT; < uint client_flag = 0; --- > unsigned int port = MYSQL_PORT; > unsigned int client_flag = 0;
Symlink the libs to where MySQL-python expects them:
$ sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
In your MySQL-python-1.2.2 directory, rebuild your package:
$ sudo python setup.py build
Note: You will receive a warning, ignore it.
Install the package:
$ sudo python setup.py install
As for starting MySQL, there are instructions here on starting it as a service. Personally, I just run
sudo mysqld_safe
manually, backgrounding it with ^Z
and bg
once I've put in my password.
You can use the BSD-alike(?) http://macports.org, which provides gentoo-like build-it-yourself installations of a wide swath of software you'd expect to find in a Linux distro.
Alternatively you could just run Ubuntu in a virtual machine as your test stage.
It's honestly a simple
# port install <pkgname>
Assuming this is just a development environment, you could try using SQLite 3 as your database. Mileage may vary depending on how low-level you need to get with the database for your specific application.
The Python mysqldb packge is in fink, but it's in the unstable tree. Just enable the unstable tree, and you will be able to install it.
Or, if you're up for having two alternate package managers, it's also in MacPorts.
I also had problems last time I had to do this and ended up going with the fink version and saving a lot of headache.
I put a step-by-step guide in a blog post that might help: Installing Django with MySQL on Mac OS X.
If you are a Mac user, install MacPorts. Almost any Linux/Unix application is available through "port". It is simple and easy to manage.
Install MacPorts. Run port install mysql
. It worked for me!
来源:https://stackoverflow.com/questions/395509/how-do-i-install-mysql-and-the-python-mysql-package-on-os-x-leopard-or-how-do-i