【问题标题】:Error when trying to install pyamg: clang: error: no such file or directory: '“-I/.../boost_1_59_0”'尝试安装pyamg时出错:clang:错误:没有这样的文件或目录:'“-I/.../boost_1_59_0”'
【发布时间】:2015-11-25 17:04:29
【问题描述】:

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

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

【问题讨论】:

  • 这些引文对我来说很有趣。这些路径设置在哪里?我认为它们应该是" 符号。
  • Fwiw,我用 pip 安装也失败了,尽管出现了不同的错误。
  • 您能否添加更多信息以准确显示您尝试安装pyamg 的方式?您是否尝试直接从源目录构建它(即使用python setup.py install)?该错误似乎是由 Boost 包含目录 (-I/Users/mas/PycharmProjects/kaggle-ndsb/boost_1_59_0) 的路径无效引起的。您是否在某处安装了Boost?如果有,在哪里?
  • @ali_m 通过从我的 .bash_profile 中删除无效路径解决了问题
  • @ali_m 这些是我删除的行:export CPPFLAGS=“-I/Users/mas/PycharmProjects/kaggle-ndsb/boost_1_59_0” export LIBS=“-L/Users/mas/PycharmProjects/kaggle -ndsb/boost_1_59_0/stage/lib”

标签: python compiler-errors quotation-marks pyamg


【解决方案1】:

使用AnacondaMiniconda

conda install pyamg

只需几秒钟。

你可以创建一个环境:

conda create --name my_env python=2.7

换成它:

source activate my_env

并安装pyamg:

conda install pyamg

你仍然可以使用pip安装包conda找不到。

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

【讨论】:

  • 有了 Anaconda,生活确实轻松多了。在尝试将库安装在不同的操作系统环境中之后,它为我节省了很多时间。
【解决方案2】:

我很确定路径开头的 -I 是搞砸了一切的原因。我敢打赌,如果您尝试将这些导出语句添加回 .bashrc,但去掉了 -I-L 前缀,那么您的原始命令将开始工作。

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

【讨论】:

【解决方案3】:

实际上,我认为 @oarfish 在 cmets 中正确调用了它。问题似乎在于这些路径中有趣的 字符,它们与通常的" 双引号符号不同。

以下为我重现了错误:

~$ 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

" 符号安装成功:

~$ 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
  Using cached pyamg-3.0.1.tar.gz
Installing collected packages: pyamg
  Running setup.py install for pyamg
Successfully installed pyamg-3.0.1

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 2023-03-27
    相关资源
    最近更新 更多