6

尝试在 Mac 上使用 pip install 安装 cvxpy 包时,我收到以下错误消息:

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]
In file included from cvxpy/cvxcore/src/cvxcore.cpp:15:
cvxpy/cvxcore/src/cvxcore.hpp:18:10: fatal error: 'vector' file not found
#include <vector>
^~~~~~~~
1 warning and 1 error generated.
error: command '/usr/bin/clang' failed with exit status 1

Mac 正在运行 OS Mojave。

4

3 回答 3

11

我使用以下步骤解决了这个问题,

首先,我尝试更改标志以指示安装使用libc++

CFLAGS=-stdlib=libc++ pip install cvxpy

然后它抱怨有一个invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later).

然后我运行以下命令来设置部署目标,

export MACOSX_DEPLOYMENT_TARGET=10.10

然后再次运行第一个命令(CFLAGS=-stdlib=libc++ pip install cvxpy)成功安装了 cvxpy。

于 2018-12-15T06:04:18.357 回答
1

我整个周末都在为此苦苦挣扎,到目前为止,我发现的最大成功是在 anaconda 环境中安装 cvxpy,其中包含以下两行:

conda install -c conda-forge lapack
conda install -c cvxgrp cvxpy
于 2018-10-28T23:52:35.960 回答
0

我在 Mojave 上遇到了类似的错误。问题是 XCode 命令行工具(包括 clang)安装的头文件的位置已经改变。~/.bash_profile我可以通过将它添加到我的并打开一个新的 shell来让它工作:

export CFLAGS="-I/usr/local/include -L/usr/local/lib -I$(brew --prefix openssl)/include -I$(xcrun --show-sdk-path)/usr/include"

这会向 CLANG 添加标志,告诉它运行 xcrun 命令来查找标头。它还将 homebrew openssl 标头添加到 clang 路径中​​,这对于这种情况可能不是必需的(并假设您已安装它们)。

请参阅:https ://stackoverflow.com/a/52871908/8344813

于 2018-11-01T19:35:41.907 回答