Issue
I'm trying to install mysql-python in a virtualenv using pip on windows. At first, I was getting the same error href="https://stackoverflow.com/questions/1706989/setting-up-virtualenv-for-django-development-on-windows">reported here, but the answer there worked for me too. Now I'm getting this following error:
_mysql.c(34) : Fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory
If I symlink (Win7) to my regular (not the virtualenv's) python's site-packages/MySQLdb dir I get
Error loading MySQLdb module: No module named _mysql
I'm rather at a loss here. Any pointers?
Solution
Update for mysql 5.5 and config-win.h not visible issue
In 5.5 config-win. has actually moved to Connector separate folder in windows. i.e. smth like:
C:\Program Files\MySQL\Connector C 6.0.2\include
To overcome the problem one need not only to download "dev bits" (which actually connects the connector) but also to modify mysqldb install scripts to add the include folder. I've done a quick dirty fix as that.
site.cfg:
# Windows connector libs for MySQL.
connector = C:\Program Files\MySQL\Connector C 6.0.2
in setup_windows.py locate the line
include_dirs = [ os.path.join(mysql_root, r'include') ]:
and add:
include_dirs = [ os.path.join(options['connector'], r'include') ]
after it.
Ugly but works until mysqldb authors will change the behaviour.
Almost forgot to mention. In the same manner one needs to add similar additional entry for libs:
library_dirs = [ os.path.join(options['connector'], r'lib\opt') ]
i.e. your setup_windows.py looks pretty much like:
...
library_dirs = [ os.path.join(mysql_root, r'lib\opt') ]
library_dirs = [ os.path.join(options['connector'], r'lib\opt') ]
libraries = [ 'kernel32', 'advapi32', 'wsock32', client ]
include_dirs = [ os.path.join(mysql_root, r'include') ]
include_dirs = [ os.path.join(options['connector'], r'include') ]
extra_compile_args = [ '/Zl' ]
...
Answered By - Bugagotti Answer Checked By - Timothy Miller (WPSolving Admin)