Skip to content

resolve string index out of range errors #212

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Dec 21, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 30 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,44 @@ I hope this fork is merged back to MySQLdb1 like distribute was merged back to s

You may need to install the Python and MySQL development headers and libraries like so:

`sudo apt-get install python-dev libmysqlclient-dev` # Debian / Ubuntu
* `sudo apt-get install python-dev libmysqlclient-dev` # Debian / Ubuntu
* `sudo yum install python-devel mysql-devel` # Red Hat / CentOS
* `brew install mysql-connector-c` # macOS (Homebrew) (Currently, it has bug. See below)

`sudo yum install python-devel mysql-devel` # Red Hat / CentOS

On Windows, there are binary wheel you can install without MySQLConnector/C or MSVC.
On Windows, there are binary wheels you can install without MySQLConnector/C or MSVC.

#### Note on Python 3 : if you are using python3 then you need to install python3-dev using the following command :

`sudo apt-get install python3-dev` # debian / Ubuntu

`sudo yum install python3-devel ` # Red Hat / CentOS

`brew install mysql-connector-c` # macOS (Homebrew)
#### **Note about bug of MySQL Connector/C on macOS**

See also: https://bugs.mysql.com/bug.php?id=86971

Versions of MySQL Connector/C may have incorrect default configuration options that cause compilation errors when `mysqlclient-python` is installed. (As of November 2017, this is known to be true for homebrew's `mysql-connector-c` and [official package](https://dev.mysql.com/downloads/connector/c/))

Modification of `mysql_config` resolves these issues as follows.

Change

```
# on macOS, on or about line 112:
# Create options
libs="-L$pkglibdir"
libs="$libs -l "
```

to

```
# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
```

An improper ssl configuration may also create issues; see, e.g, `brew info openssl` for details on macOS.

### Install from PyPI

Expand Down
2 changes: 2 additions & 0 deletions setup_posix.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
# of mysql_config

def dequote(s):
if not s:
raise Exception("Wrong MySQL configuration: maybe https://bugs.mysql.com/bug.php?id=86971 ?")
if s[0] in "\"'" and s[0] == s[-1]:
s = s[1:-1]
return s
Expand Down