MySQL Connector/Python Developer Guide

4.5 Installing Connector/Python from a Source Distribution

The Connector/Python source distribution is platform independent, and is packaged in the compressed tar archive format (.tar.gz file). See Obtaining Connector/Python) on how to download them.

Prerequisites for Compiling Connector/Python with the C Extension

Source distributions include the C Extension that interfaces with the MySQL C client library. You can build the distribution with or without support for this extension. To build Connector/Python with support for the C Extension, the following prerequisites must be satisfied:

Installing Connector/Python from Source Code Using pip

Note

We recommend leveraging python virtual environments to encapsulate the package installation instead of installing packages directly into the Python system environment.

For installing the classic interface:

  1. Download the latest version of the sdist of Connector/Python for the classic MySQL protocol, whose name is in the format of mysql_connector_python-x.y.z.tar.gz.

  2. Optional: To include the C Extension, use these steps to provide the path to the installation directory of MySQL Server (or to the folder where the server binaries are located) with the MYSQL_CAPI system variable before running the installation step. On Linux platforms:

     $ export MYSQL_CAPI=<path to server binaries> 
    

    On Windows platforms:

     > $env:MYSQL_CAPI=<path to server binaries>
    

    Note

    It is not required that the server is actually installed on the system; for compiling the C-extension, the presence of libraries are sufficient

  3. Perform the installation using this command:

     pip install ./mysql_connector_python-x.y.z.tar.gz
    Warning

    DO NOT use mysql-connector-python instead of ./mysql_connector_python-x.y.z.tar.gz, as the former will install the WHEEL package from the PyPI repository, and the latter will install the local WHEEL that is compiled from the source code.

For installing X DevAPI:

  1. Download the latest version of the sdist of Connector/Python for the MySQL X Protocol, whose name is in the format of mysqlx_connector_python-x.y.z.tar.gz.

  2. Optional: To include the Protobuf C-Extension, use these commands on Linux platforms to provide the paths to the Protobuf folders by the MYSQLXPB_* system variables before the installation step:

     $ export MYSQLXPB_PROTOBUF=<path to protobuf binaries>
     $ export MYSQLXPB_PROTOBUF_INCLUDE_DIR="${MYSQLXPB_PROTOBUF}/include"
     $ export MYSQLXPB_PROTOBUF_LIB_DIR="${MYSQLXPB_PROTOBUF}/lib"
     $ export MYSQLXPB_PROTOC="${MYSQLXPB_PROTOBUF}/bin/protoc"
    

    Or these commands on Windows platforms:

     > $env:PROTOBUF=<path to protobuf binaries>
     > $env:PROTOBUF_INCLUDE_DIR=$env:PROTOBUF+"\include"
     > $env:PROTOBUF_LIB_DIR=$env:PROTOBUF+"\lib"
     > $env:PROTOC=$env:PROTOBUF+"\bin\protoc.exe"
    
  3. Perform the installation using this command:

     pip install ./mysqlx_connector_python-x.y.z.tar.gz
    Warning

    DO NOT use mysqlx-connector-python instead of ./mysqlx_connector_python-x.y.z.tar.gz, as the former will install the WHEEL package from the PyPI repository, and the latter will install the local WHEEL that is compiled from the source code.