69

I'm trying to install the mysql bindings in a virtualenv. I'd prefer to use pip or easy_install. pip gives me the following error:

  File "setup_posix.py", line 24, in mysql_config

    raise EnvironmentError("%s not found" % (mysql_config.path,))

EnvironmentError: mysql_config not found

easy_install either gets a 404 from sourceforge or gives me a very similar error.

Does anyone know how to get around this in a virtualenv?

rz.
  • 19,861
  • 10
  • 54
  • 47

4 Answers4

87

I'm also trying to setup MySQL bindings in a virtualenv. All I had to do was install the package that contains mysql_config. On Ubuntu it's called libmysqlclient-dev.

After that I was able to do a (virtualenv'd) python setup.py build and python setup.py install.

ariddell
  • 3,413
  • 34
  • 32
  • 12
    In order to make this work I also had to install python-dev before doing the setup.py build and install. – Density 21.5 Nov 09 '10 at 15:52
  • 9
    After libmysqlclient-dev I used PIP to install the mysql binding: "pip install MySQL-python" – stricjux Dec 13 '10 at 14:26
  • 6
    Comment by anonymous user: On Fedora it's called `mysql-devel`, i.e. `sudo yum install mysql-devel`. After that, `pip install mysql-python` works in the virtualenv. – Anne Nov 28 '11 at 18:28
7

In OS X I had used Macports to install my MySQL, which made the mysql_config file be called mysql_config5.

So I did: sudo ln -s mysql_config5 /opt/local/bin/mysql_config

And then ran pip install MySQL-python from a virtualenv and all was fine.

philfreo
  • 41,941
  • 26
  • 128
  • 141
1

You may not have mysql_config at all if you don't have the appropriate mysqlclient-dev OS package installed.

Personally, for packages that require extensive C compilation, I prefer to install OS-packaged versions, as I've had fewer problems that way. It's easier to install the OS-packaged version of mysql-python on all my servers than it is to install the compilation dependencies.

Fortunately in my experience those packages also tend to be very stable (mysql-python, PIL, lxml, etc), so I don't need to version-pin them per-project.

It does, however, prevent me from using virtualenv --no-site-packages, which is a little annoying.

Carl Meyer
  • 122,012
  • 20
  • 106
  • 116
0

It is failing to find mysql_config. Put the directory containing mysql_config on your path and try again.

stray
  • 27
  • 2
  • 3
    For me, the command to do that was: `export PATH=$PATH:/usr/local/mysql-5.5.24-osx10.6-x86_64/bin` on MAC OSX. Your mileage may vary, but just do a `locate mysql_config` and you should be in business. – Kirk Woll Jul 31 '12 at 22:40