python setup.py egg_info mysqlclient

前端 未结 9 1632
孤独总比滥情好
孤独总比滥情好 2020-12-05 01:05

Trying to install mysqlclient using pip3 on Python 3.6.0

$ pip3 install mysqlclient
Collecting mysqlclient
  Using cached mysqlclient-1.3.10.tar.gz
    Comp         


        
相关标签:
9条回答
  • 2020-12-05 01:16

    After extensive troubleshooting, I found that the brew install mysql-connector-c just does not work.

    The problem stems from the system not being able to identify that mysql_config is installed (which is what mysql-connector-c essentially does). Homebrew's method (open for argument) of installing the mysql-connector-c in its /Cellar/ and creating a symlink to the /usr/local/bin/ directory seems to be causing problems as Python tries to follow the symlink.

    To resolve the issue I performed the following:

    1. brew uninstall mysql-connector-c
    2. download/install MacOS X MySQL Connector/C from Oracle's MySQL site
      • note: just download the .dmg, no need to be complicated here...
    3. restart MacOS Terminal (or iTerm2) for good measure
    4. which mysql_config

      • you should see the correct path /usr/local/bin/mysql/bin/mysql_config
    5. activate virtualenv (if applicable)

    6. pip install mysqlclient

    There may be other ways to still use Homebrew, but this was the most straightforward solution I found.

    Note that the mysqlclient GitHub README.md also states that the C-developer headers for Python3 are needed. I assume that mysql-connector-c includes those; however, should you run into more issues, you might also install the Xcode Developer CI Tools for good measure.

    xcode-select --install

    They include the C compiler and other developer utilities from Apple. Read more here.

    0 讨论(0)
  • 2020-12-05 01:22

    This worked for me:

    1. brew install mysql-connector-c

    2. edit mysql_config (locate it: which mysql_config)

    correct this in mysql_config:

    # Create options 
    libs="-L$pkglibdir"
    libs="$libs -l "
    

    It shoud be:

    # Create options 
    libs="-L$pkglibdir"
    libs="$libs -lmysqlclient -lssl -lcrypto"
    
    1. brew info openssl
    2. and finally pip3 install mysqlclient
    0 讨论(0)
  • 2020-12-05 01:26

    For Python 2.7 on specific programs:

    1. sudo chown -R $USER /Library/Python/2.7
    2. brew install mysql@5.7
    3. brew install mysql-connector-c
    4. brew link --overwrite mysql@5.7
    5. echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.bash_profile
    6. sed -i -e 's/libs="$libs -l "/libs="$libs -lmysqlclient -lssl -lcrypto"/g' /usr/local/bin/mysql_config
    7. pip install MySql-python

    This solved all issues I was having running a program that ran on Python 2.7 on and older version of MySql

    0 讨论(0)
  • 2020-12-05 01:28

    I'm just getting started with python and had similar problems when trying to do pip3 install mysqlclient to connect Django to MySQL 8.0.19 but on my case it is on a macOS Catalina 10.15.5 with Python 3.8. I also tried brew install mysql-connector-c but it also gave me a lot of trouble. Here's how I manage to make it work.

    1. brew reinstall mysql
    2. brew install mysql-client
    • Note: After installing mysql-client I got the following messages in the terminal which I just followed and got all to work.
    • mysql-client is keg-only, which means it was not symlinked into /usr/local, because it conflicts with mysql (which contains client libraries). If you need to have mysql-client first in your PATH run:
    1. echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
    • For compilers to find mysql-client you may need to set:
    1. export LDFLAGS="-L/usr/local/opt/mysql-client/lib"
    2. export CPPFLAGS="-I/usr/local/opt/mysql-client/include"
    • Then I just tried to install mysqlclient again and it worked. I also tried it on a python .venv environment and it worked as well using:
    1. pip3 install mysqlclient

    References: Install mysqlclient for Django Python on Mac OS X Sierra

    Hope this works as it did for me today. Regards, Alfredo

    0 讨论(0)
  • 2020-12-05 01:34

    I resolved this installing libmysqlclient-dev first:

    sudo apt-get install libmysqlclient-dev
    

    Hope it works for you.

    0 讨论(0)
  • 2020-12-05 01:35

    Personally I recommend using pymysql instead of using mysqlclient. You can install pymysql with:

    pip install pymysql

    And you might edit your SQLAlchemy URL to:

    mysql+pymysql://username:passwd@hostname/database

    0 讨论(0)
提交回复
热议问题