mysqlclient'i Mac'e yükleyemiyorum
Aşağıdaki ile sanal ortamda mac'a mysqlclient kurmaya çalışıyorum:
pip3 install mysqlclient
Aşağıdaki hatayı alıyorum:
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.
Bu hatanın neden olabileceğini bilen var mı?
Yanıtlar
Bu sabah aynı hataya yakalandım; 4 saat boyunca bir sürü şeyi denedikten ve bir ay boyunca yeminli bağışlarımı tam olarak tükettikten sonra, bir çözüm buldum.
Python3'ü homebrew aracılığıyla kurdum, ancak Xcode 12 hafta sonu güncellendi ve makinemde ele geçirdi. Python 3'ün Xcode yüklemesi ne olursa olsun, aynı zamanda ARM mimarisini içeren CFLAGS'yi ayarlamaya çalışır ve bu da hataya neden olur.
Çalıştırırsanız python3 -m sysconfig, çok büyük bir değişken listesi çıkarır. Bunları bir tarayın ve eğer XCode kurulumunuz yerine python yüklemenizi gösteriyorsa, /usr/local/{wherever brew installed version 3.x of python}o zaman aynı sorun olabilir.
Sonunda bunu şu şekilde düzelttim:
- bu proje için sanal ortamımı devre dışı bırakıyorum
- proje için virtualenv klasörünü silme
- brew doktoru çalıştırdı ve doğru klasörlerin ve bağlantıların kurulduğundan emin olmak için tavsiyeleri takip etti
export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH.zshrc (veya hala bash, .bash_profile kullanıyorsanız) yol güncellemelerimin başında olduğundan emin olmak- yeni bir terminal penceresi başlatmak
- işaret ettiğim pitonu kontrol etmek
which python3 - projeye geçmek ve çalıştırmak
python3 -m venv ~/.virtualenvs/project-name - o sanal ortamı etkinleştirmek
source ~/.virtualenvs/project-name/bin/activate - sonunda
pip3 install -r requirements.txt
Umarım bu sizin (veya bir başkası) için işe yarar, o zaman bu 4 saatin buna değeceğini biliyorum.
Bu sorunu yaşadım. Bana brews python3 kullanıyormuşum gibi göründü, bu yüzden kafam karıştı.
Bunu düzeltmek için pyenv üzerinden python 3.8.3 kurdum which python 3.8ve bu venv ile bir virtualenv oluşturdum ve bu venv içinde mysqlclient kurabilirdim.