簡體   English   中英

cvxpy stlibc ++ MacOS Mojave上的安裝錯誤

[英]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路徑中,這可能不是必需的(並假設您安裝了它們)。

請參閱: https//stackoverflow.com/a/52871908/8344813

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM