无法在Mac上安装mysqlclient

11

我尝试在虚拟环境中使用以下命令安装mac上的mysqlclient:

pip3 install mysqlclient

I get the following error:

Collecting mysqlclient
  Using cached https://files.pythonhosted.org/packages/a5/e1/e5f2b231c05dc51d9d87fa5066f90d1405345c54b14b0b11a1c859020f21/mysqlclient-2.0.1.tar.gz
Installing collected packages: mysqlclient
  Running setup.py install for mysqlclient ... error
    ERROR: Command errored out with exit status 1:
     command: /Users/josephestes/Development/apps/vmstracker/tutorial-env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/9_/hr4rf2_914q_g933hy7z4n5h0000gn/T/pip-install-29km7sh3/mysqlclient/setup.py'"'"'; __file__='"'"'/private/var/folders/9_/hr4rf2_914q_g933hy7z4n5h0000gn/T/pip-install-29km7sh3/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/9_/hr4rf2_914q_g933hy7z4n5h0000gn/T/pip-record-0xkt41xv/install-record.txt --single-version-externally-managed --compile --install-headers /Users/josephestes/Development/apps/vmstracker/tutorial-env/include/site/python3.8/mysqlclient
         cwd: /private/var/folders/9_/hr4rf2_914q_g933hy7z4n5h0000gn/T/pip-install-29km7sh3/mysqlclient/
    Complete output (118 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.14.6-x86_64-3.8
    creating build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
    copying MySQLdb/__init__.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
    copying MySQLdb/_exceptions.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
    copying MySQLdb/connections.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
    copying MySQLdb/converters.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
    copying MySQLdb/cursors.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
    copying MySQLdb/release.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
    copying MySQLdb/times.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
    creating build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
    copying MySQLdb/constants/__init__.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
    copying MySQLdb/constants/CLIENT.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
    copying MySQLdb/constants/CR.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
    copying MySQLdb/constants/ER.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
    copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
    copying MySQLdb/constants/FLAG.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
    running build_ext
    building 'MySQLdb._mysql' extension
    creating build/temp.macosx-10.14.6-x86_64-3.8
    creating build/temp.macosx-10.14.6-x86_64-3.8/MySQLdb
    xcrun -sdk macosx clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/Headers -arch arm64 -arch x86_64 -Dversion_info=(2,0,1,'final',0) -D__version__=2.0.1 -I/usr/local/opt/mysql-client/include/mysql -I/Users/josephestes/Development/apps/vmstracker/tutorial-env/include -I/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8 -c MySQLdb/_mysql.c -o build/temp.macosx-10.14.6-x86_64-3.8/MySQLdb/_mysql.o
    In file included from MySQLdb/_mysql.c:29:
    In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
    In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h:52:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:32:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
    #error Unsupported architecture
     ^
    In file included from MySQLdb/_mysql.c:29:
    In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
    In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h:52:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:33:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
    #error architecture not supported
     ^
    In file included from MySQLdb/_mysql.c:29:
    In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
    In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h:52:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'
    typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:56:9: error: unknown type name '__int32_t'
    typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:57:9: error: unknown type name '__int32_t'
    typedef __int32_t       __darwin_dev_t;         /* dev_t */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:60:9: error: unknown type name '__uint32_t'
    typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:61:9: error: unknown type name '__uint32_t'
    typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'; did you mean 'uint64_t'?
    typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h:31:28: note: 'uint64_t' declared here
    typedef unsigned long long uint64_t;
                               ^
    In file included from MySQLdb/_mysql.c:29:
    In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
    In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h:52:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
    typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:70:9: error: unknown type name '__uint16_t'
    typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:71:9: error: unknown type name '__int64_t'
    typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:72:9: error: unknown type name '__int32_t'
    typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:73:9: error: unknown type name '__uint32_t'
    typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:74:9: error: unknown type name '__int32_t'
    typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'
    typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
            ^
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'
    typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
            ^
    In file included from MySQLdb/_mysql.c:29:
    In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
    In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h:53:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h:30:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
    #error architecture not supported
     ^
    In file included from MySQLdb/_mysql.c:29:
    In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
    In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h:53:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types/_intptr_t.h:32:9: error: unknown type name '__darwin_intptr_t'
    typedef __darwin_intptr_t       intptr_t;
            ^
    In file included from MySQLdb/_mysql.c:29:
    In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:46:
    In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/types.h:81:
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/machine/endian.h:37:2: error: architecture not supported
    #error architecture not supported
     ^
    fatal error: too many errors emitted, stopping now [-ferror-limit=]
    20 errors generated.
    error: command 'xcrun' failed with exit status 1
    ----------------------------------------
ERROR: Command errored out with exit status 1: /Users/josephestes/Development/apps/vmstracker/tutorial-env/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/9_/hr4rf2_914q_g933hy7z4n5h0000gn/T/pip-install-29km7sh3/mysqlclient/setup.py'"'"'; __file__='"'"'/private/var/folders/9_/hr4rf2_914q_g933hy7z4n5h0000gn/T/pip-install-29km7sh3/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/9_/hr4rf2_914q_g933hy7z4n5h0000gn/T/pip-record-0xkt41xv/install-record.txt --single-version-externally-managed --compile --install-headers /Users/josephestes/Development/apps/vmstracker/tutorial-env/include/site/python3.8/mysqlclient Check the logs for full command output.

有人知道这个错误可能是什么原因吗?


你试过使用sudo pip3 install吗? - anatolhiman
是的,我有。这不是权限问题。 - Atma
1
我遇到了相同的错误 - 我唯一能看到的不同之处就是我的XCode在周末自动更新到了12版本。我只能猜测“不支持的架构”错误与XCode中新的ARM支持有关。已尝试多种修复方法,但仍未成功。 - Les
在安装其他库时似乎出现了相同的错误。这个解决方案对我有用 [https://github.com/giampaolo/psutil/issues/1832#issuecomment-704596756]。简而言之,在激活虚拟环境时,执行 export ARCHFLAGS="-arch x86_64" 然后再运行 pip3 install mysqlclient。 - Rafael Moreno
5个回答

20
今天早上我也遇到了这个错误;尝试了四个小时,试了很多方法,花光了我本月的喊骂配额,最终偶然找到了解决方案。
我通过Homebrew安装了Python3,但是Xcode 12在周末进行更新并占用了我的机器。无论是什么样的Xcode安装Python 3都包含了,它也会尝试设置包含ARM架构的CFLAGS,这就导致了错误。
如果你运行python3 -m sysconfig,它将输出一个大量的变量列表。浏览一下它们,如果它指向的是你的XCode安装的Python而不是安装在/usr/local/{Homebrew安装版本3.x的位置}里面的Python,那么可能是同样的问题。
我最终通过以下步骤解决了这个问题:
  • 禁用该项目的虚拟环境
  • 删除该项目的虚拟环境文件夹
  • 运行brew doctor并按照建议确保正确的文件夹和链接已经设置好了
  • 确保export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH在我的.zshrc(或者如果你还在使用bash,则为.bash_profile)中的路径更新的开头
  • 打开一个新的终端窗口
  • 检查我所指向的Python是brew的,使用which python3进行检查
  • 切换到该项目并运行python3 -m venv ~/.virtualenvs/project-name
  • 使用source ~/.virtualenvs/project-name/bin/activate激活该虚拟环境
  • 最后一步,执行 pip3 install -r requirements.txt
  • 希望这对你(或他人)有效,那么我就知道那4个小时是值得的。


    9
    $ pip3 install mysqlclient
    Looking in indexes: http://mirrors.ugtt.edu/pypi/simple
    Collecting mysqlclient
      Downloading http://mirrors.ugtt.edu/pypi/packages/3c/df/59cd2fa5e48d0804d213bdcb1acb4d08c403b61c7ff7ed4dd4a6a2deb3f7/mysqlclient-2.0.3.tar.gz (88kB)
         |████████████████████████████████| 92kB 1.1MB/s
    Installing collected packages: mysqlclient
      Running setup.py install for mysqlclient ... error
        ERROR: Command errored out with exit status 1:
         command: /Users/e123/Projects/python/envs/pi2/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/h6/q2hryq8n3hj_9lmqznt05jwm0000gn/T/pip-install-mkpiwyap/mysqlclient/setup.py'"'"'; __file__='"'"'/private/var/folders/h6/q2hryq8n3hj_9lmqznt05jwm0000gn/T/pip-install-mkpiwyap/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/h6/q2hryq8n3hj_9lmqznt05jwm0000gn/T/pip-record-fhoi4_w2/install-record.txt --single-version-externally-managed --compile --install-headers /Users/e123/Projects/python/envs/pi2/include/site/python3.8/mysqlclient
             cwd: /private/var/folders/h6/q2hryq8n3hj_9lmqznt05jwm0000gn/T/pip-install-mkpiwyap/mysqlclient/
        Complete output (132 lines):
        mysql_config --version
        ['8.0.22']
        mysql_config --libs
        ['-L/usr/local/opt/mysql-client/lib', '-lmysqlclient', '-lssl', '-lcrypto', '-lresolv']
        mysql_config --cflags
        ['-I/usr/local/opt/mysql-client/include/mysql']
        ext_options:
          library_dirs: ['/usr/local/opt/mysql-client/lib']
          libraries: ['mysqlclient', 'resolv']
          extra_compile_args: ['-std=c99']
          extra_link_args: []
          include_dirs: ['/usr/local/opt/mysql-client/include/mysql']
          extra_objects: []
          define_macros: [('version_info', "(2,0,3,'final',0)"), ('__version__', '2.0.3')]
        running install
        running build
        running build_py
        creating build
        creating build/lib.macosx-10.14.6-x86_64-3.8
        creating build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
        copying MySQLdb/__init__.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
        copying MySQLdb/_exceptions.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
        copying MySQLdb/connections.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
        copying MySQLdb/converters.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
        copying MySQLdb/cursors.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
        copying MySQLdb/release.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
        copying MySQLdb/times.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb
        creating build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
        copying MySQLdb/constants/__init__.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
        copying MySQLdb/constants/CLIENT.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
        copying MySQLdb/constants/CR.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
        copying MySQLdb/constants/ER.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
        copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
        copying MySQLdb/constants/FLAG.py -> build/lib.macosx-10.14.6-x86_64-3.8/MySQLdb/constants
        running build_ext
        building 'MySQLdb._mysql' extension
        creating build/temp.macosx-10.14.6-x86_64-3.8
        creating build/temp.macosx-10.14.6-x86_64-3.8/MySQLdb
        clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -iwithsysroot/System/Library/Frameworks/System.framework/PrivateHeaders -iwithsysroot/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/Headers -arch arm64 -arch x86_64 -I/usr/local/opt/openssl/include -Dversion_info=(2,0,3,'final',0) -D__version__=2.0.3 -I/usr/local/opt/mysql-client/include/mysql -I/Users/e123/Projects/python/envs/pi2/include -I/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/include/python3.8 -c MySQLdb/_mysql.c -o build/temp.macosx-10.14.6-x86_64-3.8/MySQLdb/_mysql.o -std=c99
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:32:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/cdefs.h:807:2: error: Unsupported architecture
        #error Unsupported architecture
         ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:33:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/machine/_types.h:34:2: error: architecture not supported
        #error architecture not supported
         ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:52:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:55:9: error: unknown type name '__int64_t'
        typedef __int64_t       __darwin_blkcnt_t;      /* total blocks */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:56:9: error: unknown type name '__int32_t'
        typedef __int32_t       __darwin_blksize_t;     /* preferred block size */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:57:9: error: unknown type name '__int32_t'
        typedef __int32_t       __darwin_dev_t;         /* dev_t */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:60:9: error: unknown type name '__uint32_t'
        typedef __uint32_t      __darwin_gid_t;         /* [???] process and group IDs */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:61:9: error: unknown type name '__uint32_t'
        typedef __uint32_t      __darwin_id_t;          /* [XSI] pid_t, uid_t, or gid_t*/
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:62:9: error: unknown type name '__uint64_t'; did you mean 'uint64_t'?
        typedef __uint64_t      __darwin_ino64_t;       /* [???] Used for 64 bit inodes */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/_types/_uint64_t.h:31:28: note: 'uint64_t' declared here
        typedef unsigned long long uint64_t;
                                   ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:52:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:68:9: error: unknown type name '__darwin_natural_t'
        typedef __darwin_natural_t __darwin_mach_port_name_t; /* Used by mach */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:70:9: error: unknown type name '__uint16_t'
        typedef __uint16_t      __darwin_mode_t;        /* [???] Some file attributes */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:71:9: error: unknown type name '__int64_t'
        typedef __int64_t       __darwin_off_t;         /* [???] Used for file sizes */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:72:9: error: unknown type name '__int32_t'
        typedef __int32_t       __darwin_pid_t;         /* [???] process and group IDs */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:73:9: error: unknown type name '__uint32_t'
        typedef __uint32_t      __darwin_sigset_t;      /* [???] signal set */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:74:9: error: unknown type name '__int32_t'
        typedef __int32_t       __darwin_suseconds_t;   /* [???] microseconds */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:75:9: error: unknown type name '__uint32_t'
        typedef __uint32_t      __darwin_uid_t;         /* [???] user IDs */
                ^
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types.h:76:9: error: unknown type name '__uint32_t'
        typedef __uint32_t      __darwin_useconds_t;    /* [???] microseconds */
                ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:53:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types/_intptr_t.h:30:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/machine/types.h:37:2: error: architecture not supported
        #error architecture not supported
         ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:45:
        In file included from /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include/stdint.h:52:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdint.h:53:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/_types/_intptr_t.h:32:9: error: unknown type name '__darwin_intptr_t'
        typedef __darwin_intptr_t       intptr_t;
                ^
        In file included from MySQLdb/_mysql.c:29:
        In file included from /usr/local/opt/mysql-client/include/mysql/mysql.h:46:
        In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/types.h:81:
        /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/machine/endian.h:37:2: error: architecture not supported
        #error architecture not supported
         ^
        fatal error: too many errors emitted, stopping now [-ferror-limit=]
        20 errors generated.
        error: command 'clang' failed with exit status 1
        ----------------------------------------
    ERROR: Command errored out with exit status 1: /Users/e123/Projects/python/envs/pi2/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/h6/q2hryq8n3hj_9lmqznt05jwm0000gn/T/pip-install-mkpiwyap/mysqlclient/setup.py'"'"'; __file__='"'"'/private/var/folders/h6/q2hryq8n3hj_9lmqznt05jwm0000gn/T/pip-install-mkpiwyap/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/h6/q2hryq8n3hj_9lmqznt05jwm0000gn/T/pip-record-fhoi4_w2/install-record.txt --single-version-externally-managed --compile --install-headers /Users/e123/Projects/python/envs/pi2/include/site/python3.8/mysqlclient Check the logs for full command output.
    

    其他事项:

    昨天早上我将macos版本从10.15.4升级到了10.15.7之后,所有Python虚拟环境都被删除了。

    以下是我解决这个问题的方法:

    出现上述错误是由于未能识别底层系统平台,因此我进行了手动指定。目前我不知道是否还有其他安装问题,但是到目前为止,一切正常。

    $ export CFLAGS="-D__x86_64__"  // OR export ARCHFLAGS="-arch x86_64"
    $ pip3 install mysqlclient
    Looking in indexes: http://mirrors.ugtt.edu/pypi/simple
    Collecting mysqlclient
      Downloading http://mirrors.ugtt.edu/pypi/packages/3c/df/59cd2fa5e48d0804d213bdcb1acb4d08c403b61c7ff7ed4dd4a6a2deb3f7/mysqlclient-2.0.3.tar.gz (88kB)
         |████████████████████████████████| 92kB 1.2MB/s
    Installing collected packages: mysqlclient
      Running setup.py install for mysqlclient ... done
    Successfully installed mysqlclient-2.0.3
    

    如何确定您的 CPU 是 32 位还是 64 位?uname -m - Ershan
    谢谢!你的回答帮了我很大忙。 - yoshi

    1
    我遇到了这个问题。在我看来,我使用的是brew的python3,所以我感到困惑。
    为了解决这个问题,我通过pyenv安装了Python 3.8.3,并使用which python 3.8创建了一个虚拟环境,在该虚拟环境中,我可以安装mysqlclient。

    这个方法很有效,但为了确保pyenv实际起作用,我不得不执行https://dev59.com/W6vka4cB1Zd3GeqPuH8k#63383205。否则我会遇到pip3:未找到命令的问题。 - Noumenon

    0

    这个解决方案适用于我的MacOs catalina问题:

    ARCHFLAGS="-arch x86_64" pip3 install mysqlclient
    

    -3

    尝试使用brew,有很多关于在Mac上安装失败的帖子。

    brew install mysql
    

    另外,如果出现错误 "#error Unsupported architecture" - 可能是您正在使用Mojave,而最新的mysqlclient已更新为Catalina版本。 或者尝试使用this或他们的git recommendation 适用于macOS。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接