[英]cvxpy stlibc++ Installation error on MacOS Mojave
嘗試在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。
我使用以下步驟解決了這個問題,
首先我嘗試更改標志以指示安裝使用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。
我整個周末都在苦苦掙扎,到目前為止我發現的最大成功是在anaconda環境中使用以下兩行安裝cvxpy:
conda install -c conda-forge lapack
conda install -c cvxgrp cvxpy
我在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命令來查找標頭。 它還將自制的openssl標頭添加到clang路徑中,這可能不是必需的(並假設您安裝了它們)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.