添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

无法安装mysqlclient

5 人关注

我在django框架中使用python3.8,为此我必须安装mysqlclient。但是,当我尝试安装时,却出现了错误

pip3 install mysqlclient

像这样的输出是错误的。

Collecting mysqlclient
  Using cached https://files.pythonhosted.org/packages/d0/97/7326248ac8d5049968bf4ec708a5d3d4806e412a42e74160d7f266a3e03a/mysqlclient-1.4.6.tar.gz
    ERROR: Command errored out with exit status 1:
     command: /home/LPython/my_env/bin/python3.8 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-fgg27tgk/mysqlclient/setup.py'"'"'; __file__='"'"'/tmp/pip-install-fgg27tgk/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-fgg27tgk/mysqlclient/pip-egg-info
         cwd: /tmp/pip-install-fgg27tgk/mysqlclient/
    Complete output (11 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/home/LPython/my_env/lib/python3.8/site-packages/setuptools/__init__.py", line 20, in <module>
        from setuptools.dist import Distribution, Feature
      File "/home/LPython/my_env/lib/python3.8/site-packages/setuptools/dist.py", line 35, in <module>
        from setuptools import windows_support
      File "/home/LPython/my_env/lib/python3.8/site-packages/setuptools/windows_support.py", line 2, in <module>
        import ctypes
      File "/usr/local/lib/python3.8/ctypes/__init__.py", line 7, in <module>
        from _ctypes import Union, Structure, Array
    ModuleNotFoundError: No module named '_ctypes'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
    
python
mysql
pip
Anu Alex
Anu Alex
发布于 2019-12-18
3 个回答
dhamo
dhamo
发布于 2019-12-19
已采纳
0 人赞同

I think libffi-dev 你的系统/服务器中缺少libary文件。 使用下面的命令来检查库的安装与否

apt-cache search libffi

安装libffi-dev

sudo apt-get install -y libffi-dev
pip3 install mysqlclient
sudo apt-get install python-dev default-libmysqlclient-dev
sudo apt-get install python3-dev
pip install mysqlclient
    
包libffi-devel-3.0.13-18.el7.x86_64已经安装。但还是出现了错误...
sudo apt-get install python-dev default-libmysqlclient-dev sudo apt-get install python3-dev pip install mysqlclient
上述先决条件我已经从以下地方安装了 pypi.org/project/mysqlclient . But still error is coming..
在用pip3替换pip后,方法2对我来说是有效的。
两种方法的混合对我来说都很有效。
Kalana
Kalana
发布于 2019-12-19
0 人赞同

替换代码0】发生的原因是Python bug .在最新版本的Python中,这个错误已经解决了。

  • There for you have to update your pip
  • Next you have to run this yum install libffi-deve or sudo dnf install libffi-devel
  • After that run pip3 install mysqlclient or sudo yum install python36u-devel mysql-devel to install mysqlclient.
  • MariaDB-client已经安装了。但除了mysql驱动,我还需要mysqlclient。我没有coda。
    我正在使用centos 7
    Do I need to set libffi 有什么具体地点吗?
    不,不要提供任何地点
    你所说的是正确的,是Python的错误。所以我重新安装了Python并编译了它。然后它就工作了。
    Anu Alex
    Anu Alex
    发布于 2019-12-19
    0 人赞同

    我的问题已经解决了。当我安装python-3.8.0时,我没有编译它,这就是问题所在。我使用的是Centos7,所以我到终端的根部,先安装Python的先决条件,再安装它。

    # sudo yum install gcc openssl-devel bzip2-devel libffi-devel download latest version #wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz Now extract the downloaded package. Compile Python Source #cd Python-3.8.0 #sudo ./configure --enable-optimizations make altinstall is used to prevent replacing the default python binary file /usr/bin/python. #sudo make altinstall remove downloaded source archive file from your system #sudo rm Python-3.8.0.tgz Check Python Version #python3.8 -V Then I could be able to install mysqlclient by