I cannot install mysql-connector-python using pip

I am trying to install mysql-connector-python==1.0.12 as part of my project's automated installation, and I get the following error from pip install:

Collecting mysql-connector-python==1.0.12 (from -r /tmp/requirements.txt (line 20))
Could not find a version that satisfies the requirement mysql-connector-python==1.0.12 (from -r /tmp/requirements.txt (line 20)) (from versions: )
No matching distribution found for mysql-connector-python==1.0.12 (from -r /tmp/requirements.txt (line 20))

Up until a few days ago it worked fine. I investigated a bit and found the following issue in bitbucket.org. Specifically, the following comment dated 28/12/2015:

That should be blank, per PEP 470 using PyPI to link to a package not hosted by PyPI for automated installers to download (the /simple/ index) was deprecated and scheduled for removal. Maintainers of the affected packages were emailed 3 months ago. The removal happened earlier today (a bug caused some oackages like Twisted which were hosted on PyPI to also have their links removed but that has been remedied). The maintainers of MySQL-connector-python should either upload to PyPI or direct their users to use either -f or --extra-index-url with a repository they maintain.

How can I have the installation of mysql-connector-python==1.0.12 run smoothly? Do I need to set up my own repository?


Solution 1:

There are quite a few solutions, e.g. hosting a private repository, but the quickest was to change the requirements.txt file to download from mysql's cdn.

i.e., to change:

mysql-connector-python==1.0.12

to

https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.1.15.tar.gz

Solution 2:

For all the lazy people like me who had to google how the requirements file works

just do this ...

echo https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.1.3.tar.gz >> requirements.txt

then this.

sudo -H pip install -r ./requirements.txt

check it.

pip list | grep mysql

It should output:

mysql-connector-python (2.1.3)

happy days Thanks to @Amnon

Solution 3:

Worked for me using

pip install mysql-connector-python-rf.

More info here https://github.com/travis-ci/travis-ci/issues/5369

Solution 4:

The above link did not work for me, or when trying to install to AWS Beanstalk. But the below link did work:

https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.4.zip#md5=3df394d89300db95163f17c843ef49df

Solution 5:

Red Hat / CentOS

sudo yum install python-devel mysql-devel
sudo pip3 install mysql-connector

for other OS, see mysqlclient