尝试在macos上安装带有pip的任何东西,但不能



我想我的mac OS系统有问题。我尝试使用 pip 在其上安装的所有内容我一遍又一遍地收到相同的错误,我只粘贴了显示错误的行,以免使该线程过于拥挤:

Collecting murmurhash3
Using cached https://files.pythonhosted.org/packages/b5/f4/1f9c4851667a2541bd151b8d9efef707495816274fada365fa6a31085a32/murmurhash3-2.3.5.tar.gz
Building wheels for collected packages: murmurhash3
Running setup.py bdist_wheel for murmurhash3 ... error
Complete output from command /usr/local/opt/python/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/15/_mc1281d6kn_z8my6cz6dj740000gq/T/pip-install-_4hr8w03/murmurhash3/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('rn', 'n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /private/var/folders/15/_mc1281d6kn_z8my6cz6dj740000gq/T/pip-wheel-k28wu_2e --python-tag cp37:
running bdist_wheel
running build
running build_ext
building 'mmh3' extension
creating build
creating build/temp.macosx-10.14-x86_64-3.7
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -I/usr/include -I/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c mmh3module.cpp -o build/temp.macosx-10.14-x86_64-3.7/mmh3module.o
In file included from mmh3module.cpp:3:
/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m/Python.h:14:2: error: "Something's broken.  UCHAR_MAX should be defined in limits.h."
#error "Something's broken.  UCHAR_MAX should be defined in limits.h."
^
/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m/Python.h:18:2: error: "Python's source code assumes C's unsigned char is an 8-bit type."
#error "Python's source code assumes C's unsigned char is an 8-bit type."
^
mmh3module.cpp:99:5: error: use of undeclared identifier 'memcpy'; did you mean 'wmemcpy'?
memcpy(bytes, result, 16);
^~~~~~
wmemcpy
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/wchar.h:152:10: note: 'wmemcpy' declared here
wchar_t *wmemcpy(wchar_t * __restrict, const wchar_t * __restrict, size_t);
^
mmh3module.cpp:99:12: error: cannot initialize a parameter of type 'wchar_t *' with an lvalue of type 'char [16]'
memcpy(bytes, result, 16);
^~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/wchar.h:152:38: note: passing argument to parameter here
wchar_t *wmemcpy(wchar_t * __restrict, const wchar_t * __restrict, size_t);
^
4 errors generated.
error: command 'clang' failed with exit status 1
----------------------------------------
Failed building wheel for murmurhash3
Running setup.py clean for murmurhash3
Failed to build murmurhash3
Installing collected packages: murmurhash3
Running setup.py install for murmurhash3 ... error
Complete output from command /usr/local/opt/python/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/15/_mc1281d6kn_z8my6cz6dj740000gq/T/pip-install-_4hr8w03/murmurhash3/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('rn', 'n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/15/_mc1281d6kn_z8my6cz6dj740000gq/T/pip-record-7a15nstl/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_ext
building 'mmh3' extension
creating build
creating build/temp.macosx-10.14-x86_64-3.7
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -I/usr/include -I/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c mmh3module.cpp -o build/temp.macosx-10.14-x86_64-3.7/mmh3module.o
In file included from mmh3module.cpp:3:
/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m/Python.h:14:2: error: "Something's broken.  UCHAR_MAX should be defined in limits.h."
#error "Something's broken.  UCHAR_MAX should be defined in limits.h."
^
/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7/include/python3.7m/Python.h:18:2: error: "Python's source code assumes C's unsigned char is an 8-bit type."
#error "Python's source code assumes C's unsigned char is an 8-bit type."
^
mmh3module.cpp:99:5: error: use of undeclared identifier 'memcpy'; did you mean 'wmemcpy'?
memcpy(bytes, result, 16);
^~~~~~
wmemcpy
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/wchar.h:152:10: note: 'wmemcpy' declared here
wchar_t *wmemcpy(wchar_t * __restrict, const wchar_t * __restrict, size_t);
^
mmh3module.cpp:99:12: error: cannot initialize a parameter of type 'wchar_t *' with an lvalue of type 'char [16]'
memcpy(bytes, result, 16);
^~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/wchar.h:152:38: note: passing argument to parameter here
wchar_t *wmemcpy(wchar_t * __restrict, const wchar_t * __restrict, size_t);
^
4 errors generated.
error: command 'clang' failed with exit status 1
----------------------------------------
Command "/usr/local/opt/python/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/15/_mc1281d6kn_z8my6cz6dj740000gq/T/pip-install-_4hr8w03/murmurhash3/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('rn', 'n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/15/_mc1281d6kn_z8my6cz6dj740000gq/T/pip-record-7a15nstl/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/15/_mc1281d6kn_z8my6cz6dj740000gq/T/pip-install-_4hr8w03/murmurhash3/

另一方面,当我尝试安装lxmlrequests时,一切正常。关于我在哪里搞砸了的任何想法?

murmurhash3是为Python>3.2准备的,起初你试图为Python 2编译它。它不起作用,因为库具有 C 扩展,而 Python 2 和 3 不相互兼容 API。

当然,它会更容易注意到,murmurhash3检查您的 Python 版本是否setup.py.

现在您正在尝试将其安装到 Python 3 中,很明显您的编译器存在非常错误!C 标准要求UCHAR_MAX现有的每个 C 编译器<limits.h>定义,并且在任何当前的个人计算架构上,UCHAR_MAX应定义为 255,包括 Mac。Python.h 检查这一点。您的 C 编译器既没有定义UCHAR_MAX也没有将其设置为255limits.h但它仍然成功地包含了一些limits.h。你的C编译器完全是b0rken

最新更新