尝试安装pyamg:clang时出错:错误:没有这样的文件或目录:'“I/../boost_1_59_0”'

2024-06-01 13:35:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在我的虚拟环境中安装pyamg。但是,我得到了以下错误。我用的是苹果操作系统。在

c++: pyamg/amg_core/amg_core_wrap.cxx
clang: error: no such file or directory: '“-I/Users/mas/PycharmProjects/kaggle-ndsb/boost_1_59_0”'
clang: error: no such file or directory: '“-I/Users/mas/PycharmProjects/kaggle-ndsb/boost_1_59_0”'
error: Command "c++ -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE “-I/Users/mas/PycharmProjects/kaggle-ndsb/boost_1_59_0” -arch x86_64 -arch i386 -pipe -D__STDC_FORMAT_MACROS=1 -I/Users/mas/PycharmProjects/Whale/Zahraa5/lib/python2.7/site-packages/numpy/core/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c pyamg/amg_core/amg_core_wrap.cxx -o build/temp.macosx-10.10-intel-2.7/pyamg/amg_core/amg_core_wrap.o" failed with exit status 1

Tags: corecxxerrorusersclangmasarchboost
3条回答

事实上,我认为@oarfish在评论中是正确的。问题似乎在于这些路径中有趣的和{}字符,这与通常的"双引号符号不同。在

以下为我复制了错误:

~$ CPPFLAGS=“-I/Users/mas/PycharmProjects/kaggle-ndsb/boost_1_59_0” \
   LIBS=“-L/Users/mas/PycharmProjects/kaggle-ndsb/boost_1_59_0/stage/lib” \
   pip install pyamg

Collecting pyamg
  Downloading pyamg-3.0.1.tar.gz (759kB)
    100% |████████████████████████████████| 761kB 33.2MB/s 
Installing collected packages: pyamg
  Running setup.py install for pyamg
...
    creating build/temp.linux-x86_64-2.7
    creating build/temp.linux-x86_64-2.7/pyamg
    creating build/temp.linux-x86_64-2.7/pyamg/amg_core
    compile options: '-D__STDC_FORMAT_MACROS=1 -I/home/alistair/.venvs/pyamg/local/lib/python2.7/site-packages/numpy/core/include -I/usr/include/python2.7 -c'
    c++: pyamg/amg_core/amg_core_wrap.cxx
    g++: error: “-I/Users/mas/PycharmProjects/kaggle-ndsb/boost_1_59_0”: No such file or directory
    g++: error: “-I/Users/mas/PycharmProjects/kaggle-ndsb/boost_1_59_0”: No such file or directory
    error: Command "c++ -pthread -DNDEBUG -g -fwrapv -O2 -Wall -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security “-I/Users/mas/PycharmProjects/kaggle-ndsb/boost_1_59_0” -fPIC -D__STDC_FO
RMAT_MACROS=1 -I/home/alistair/.venvs/pyamg/local/lib/python2.7/site-packages/numpy/core/include -I/usr/include/python2.7 -c pyamg/amg_core/amg_core_wrap.cxx -o build/temp.linux-x86_64-2.7/pyamg/amg_core/amg_core_wrap.o" failed with exit 
status 1

                        
Command "/home/alistair/.venvs/pyamg/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-Cl5_2g/pyamg/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" insta
ll  record /tmp/pip-kkjcoa-record/install-record.txt  single-version-externally-managed  compile  install-headers /home/alistair/.venvs/pyamg/include/site/python2.7/pyamg" failed with error code 1 in /tmp/pip-build-Cl5_2g/pyamg

而使用"符号安装成功:

^{pr2}$

路径本身是无关的-编译成功,尽管这些目录实际上并不存在于我的机器上。在

我很确定路径开始处的-I就是把一切搞砸的原因。我敢打赌,如果您尝试将这些export语句添加回.bashrc,但是去掉了-I和{}前缀,那么原来的命令就可以开始工作了。在

也许你有这些是有原因的,我从来没见过,但删除这些前缀可能会起作用。在

使用Anaconda或{a2}

conda install pyamg

只需要几秒钟。在

您可以使用以下各项创建环境:

^{pr2}$

换成它:

source activate my_env

并安装pyamg

conda install pyamg

您仍然可以使用pip安装conda找不到的包。在

生命太短暂,不能花时间在编译问题上。;)

相关问题 更多 >