How do I install MySQL and the Python MySQL package on OS X Leopard? Or how do I learn about being a web developer using OS X?

天大地大妈咪最大 提交于 2019-11-30 04:51:15

问题


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.)


回答1:


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.


  1. 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
    
  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;
    
  3. Symlink the libs to where MySQL-python expects them:

    $ sudo ln -s /usr/local/mysql/lib /usr/local/mysql/lib/mysql
    
  4. In your MySQL-python-1.2.2 directory, rebuild your package:

    $ sudo python setup.py build
    

    Note: You will receive a warning, ignore it.

  5. 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.




回答2:


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>




回答3:


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.




回答4:


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.




回答5:


I put a step-by-step guide in a blog post that might help: Installing Django with MySQL on Mac OS X.




回答6:


If you are a Mac user, install MacPorts. Almost any Linux/Unix application is available through "port". It is simple and easy to manage.




回答7:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!