在 conda/MacOS 上使用 pip 安装 mmh3 包
Installing mmh3 package with pip on conda/MacOS
所以我正在尝试在 MacOS 上重新设置和安装一个需要 mmh3 的包。
当我到达那里时 - 我收到了错误,出于所有意图和目的,这些错误对我来说也可能是另一种语言。
到目前为止的搜索让我相信这 某事 与我机器上的 Apple xCode 版本有关,但我找到了答案完全没有意义。如果我只是调用 pip install mmh3
.
,我不知道如何编辑安装文件
输出如下,我知道它很长 - 但我不知道什么是相关的,什么是不相关的,所以它就在那里。这与 APPle 重命名 c++ 或类似的东西有关。任何帮助都感激不尽。请记住,我不知道为什么需要这个包,就是这样。
Collecting mmh3
Using cached https://files.pythonhosted.org/packages/fa/7e/3ddcab0a9fcea034212c02eb411433db9330e34d626360b97333368b4052/mmh3-2.5.1.tar.gz
Building wheels for collected packages: mmh3
Running setup.py bdist_wheel for mmh3 ... error
Complete output from command /Users/ronan/miniconda3/envs/prodigy/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-install-qieyu8iz/mmh3/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /private/var/folders/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-wheel-a0npl5pu --python-tag cp37:
running bdist_wheel
running build
running build_ext
building 'mmh3' extension
creating build
creating build/temp.macosx-10.7-x86_64-3.7
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include/python3.7m -c mmh3module.cpp -o build/temp.macosx-10.7-x86_64-3.7/mmh3module.o
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
1 warning generated.
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include/python3.7m -c MurmurHash3.cpp -o build/temp.macosx-10.7-x86_64-3.7/MurmurHash3.o
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
1 warning generated.
creating build/lib.macosx-10.7-x86_64-3.7
g++ -bundle -undefined dynamic_lookup -L/Users/ronan/miniconda3/envs/prodigy/lib -arch x86_64 -L/Users/ronan/miniconda3/envs/prodigy/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.7-x86_64-3.7/mmh3module.o build/temp.macosx-10.7-x86_64-3.7/MurmurHash3.o -o build/lib.macosx-10.7-x86_64-3.7/mmh3.cpython-37m-darwin.so
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
ld: library not found for -lstdc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'g++' failed with exit status 1
----------------------------------------
Failed building wheel for mmh3
Running setup.py clean for mmh3
Failed to build mmh3
Installing collected packages: mmh3
Running setup.py install for mmh3 ... error
Complete output from command /Users/ronan/miniconda3/envs/prodigy/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-install-qieyu8iz/mmh3/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/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-record-z9u9z7f5/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.7-x86_64-3.7
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include/python3.7m -c mmh3module.cpp -o build/temp.macosx-10.7-x86_64-3.7/mmh3module.o
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
1 warning generated.
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include/python3.7m -c MurmurHash3.cpp -o build/temp.macosx-10.7-x86_64-3.7/MurmurHash3.o
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
1 warning generated.
creating build/lib.macosx-10.7-x86_64-3.7
g++ -bundle -undefined dynamic_lookup -L/Users/ronan/miniconda3/envs/prodigy/lib -arch x86_64 -L/Users/ronan/miniconda3/envs/prodigy/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.7-x86_64-3.7/mmh3module.o build/temp.macosx-10.7-x86_64-3.7/MurmurHash3.o -o build/lib.macosx-10.7-x86_64-3.7/mmh3.cpython-37m-darwin.so
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
ld: library not found for -lstdc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'g++' failed with exit status 1
----------------------------------------
Command "/Users/ronan/miniconda3/envs/prodigy/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-install-qieyu8iz/mmh3/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/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-record-z9u9z7f5/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-install-qieyu8iz/mmh3/
所以,一如既往,答案在您看过之后非常简单。
此问题以及任何其他依赖于从 Python 引用的 C++ 库的解决方案是用于实现 setup.py
文件中的 if/else 块包裹。如果 运行 on OSX >= 10.7 包含并执行以下代码行,将解决来自 pip 和 Python.
的此类投诉
COMPILE_OPTIONS["other"].append("-stdlib=libc++")
LINK_OPTIONS["other"].append("-lc++")
LINK_OPTIONS["other"].append("-nodefaultlibs")
作为参考,here 是关于问题来源的一些信息。
解决方案应归功于@honnibal,完整的 if/else 逻辑和块现在可通过 this link 获得,因此您可以进行测验以了解发生了什么。
我遵循了 link、https://anaconda.org/conda-forge/mmh3 中的指南,发现它有效。
要使用 conda 安装此包 运行 以下之一:
conda 安装-c conda-forge mmh3
康达安装-c conda-forge/label/cf202003 mmh3
所以我正在尝试在 MacOS 上重新设置和安装一个需要 mmh3 的包。
当我到达那里时 - 我收到了错误,出于所有意图和目的,这些错误对我来说也可能是另一种语言。
到目前为止的搜索让我相信这 某事 与我机器上的 Apple xCode 版本有关,但我找到了答案完全没有意义。如果我只是调用 pip install mmh3
.
输出如下,我知道它很长 - 但我不知道什么是相关的,什么是不相关的,所以它就在那里。这与 APPle 重命名 c++ 或类似的东西有关。任何帮助都感激不尽。请记住,我不知道为什么需要这个包,就是这样。
Collecting mmh3
Using cached https://files.pythonhosted.org/packages/fa/7e/3ddcab0a9fcea034212c02eb411433db9330e34d626360b97333368b4052/mmh3-2.5.1.tar.gz
Building wheels for collected packages: mmh3
Running setup.py bdist_wheel for mmh3 ... error
Complete output from command /Users/ronan/miniconda3/envs/prodigy/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-install-qieyu8iz/mmh3/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /private/var/folders/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-wheel-a0npl5pu --python-tag cp37:
running bdist_wheel
running build
running build_ext
building 'mmh3' extension
creating build
creating build/temp.macosx-10.7-x86_64-3.7
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include/python3.7m -c mmh3module.cpp -o build/temp.macosx-10.7-x86_64-3.7/mmh3module.o
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
1 warning generated.
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include/python3.7m -c MurmurHash3.cpp -o build/temp.macosx-10.7-x86_64-3.7/MurmurHash3.o
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
1 warning generated.
creating build/lib.macosx-10.7-x86_64-3.7
g++ -bundle -undefined dynamic_lookup -L/Users/ronan/miniconda3/envs/prodigy/lib -arch x86_64 -L/Users/ronan/miniconda3/envs/prodigy/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.7-x86_64-3.7/mmh3module.o build/temp.macosx-10.7-x86_64-3.7/MurmurHash3.o -o build/lib.macosx-10.7-x86_64-3.7/mmh3.cpython-37m-darwin.so
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
ld: library not found for -lstdc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'g++' failed with exit status 1
----------------------------------------
Failed building wheel for mmh3
Running setup.py clean for mmh3
Failed to build mmh3
Installing collected packages: mmh3
Running setup.py install for mmh3 ... error
Complete output from command /Users/ronan/miniconda3/envs/prodigy/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-install-qieyu8iz/mmh3/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/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-record-z9u9z7f5/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.7-x86_64-3.7
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include/python3.7m -c mmh3module.cpp -o build/temp.macosx-10.7-x86_64-3.7/mmh3module.o
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
1 warning generated.
gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include -arch x86_64 -I/Users/ronan/miniconda3/envs/prodigy/include/python3.7m -c MurmurHash3.cpp -o build/temp.macosx-10.7-x86_64-3.7/MurmurHash3.o
warning: include path for stdlibc++ headers not found; pass '-std=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
1 warning generated.
creating build/lib.macosx-10.7-x86_64-3.7
g++ -bundle -undefined dynamic_lookup -L/Users/ronan/miniconda3/envs/prodigy/lib -arch x86_64 -L/Users/ronan/miniconda3/envs/prodigy/lib -arch x86_64 -arch x86_64 build/temp.macosx-10.7-x86_64-3.7/mmh3module.o build/temp.macosx-10.7-x86_64-3.7/MurmurHash3.o -o build/lib.macosx-10.7-x86_64-3.7/mmh3.cpython-37m-darwin.so
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
ld: library not found for -lstdc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'g++' failed with exit status 1
----------------------------------------
Command "/Users/ronan/miniconda3/envs/prodigy/bin/python -u -c "import setuptools, tokenize;__file__='/private/var/folders/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-install-qieyu8iz/mmh3/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/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-record-z9u9z7f5/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/29/638ydzz51zxfm1hht53r24w80000gn/T/pip-install-qieyu8iz/mmh3/
所以,一如既往,答案在您看过之后非常简单。
此问题以及任何其他依赖于从 Python 引用的 C++ 库的解决方案是用于实现 setup.py
文件中的 if/else 块包裹。如果 运行 on OSX >= 10.7 包含并执行以下代码行,将解决来自 pip 和 Python.
COMPILE_OPTIONS["other"].append("-stdlib=libc++")
LINK_OPTIONS["other"].append("-lc++")
LINK_OPTIONS["other"].append("-nodefaultlibs")
作为参考,here 是关于问题来源的一些信息。
解决方案应归功于@honnibal,完整的 if/else 逻辑和块现在可通过 this link 获得,因此您可以进行测验以了解发生了什么。
我遵循了 link、https://anaconda.org/conda-forge/mmh3 中的指南,发现它有效。
要使用 conda 安装此包 运行 以下之一:
conda 安装-c conda-forge mmh3
康达安装-c conda-forge/label/cf202003 mmh3