如何修复“/bin/sh: bc: 找不到命令”

Yan*_*ang 5 c++ python makefile jupyter-notebook

当我通过 Jupyter Notebook 运行脚本时,!make出现以下错误:

/bin/sh: bc: 未找到命令

但我的 Makefile 中没有使用“bc”函数。

我在我的 Windows 10 笔记本电脑上安装了 Python3、MinGW(包含 MSYS)、GNUWin32 和 OpenMPI。

  1. 所以我尝试自己安装“bc”。第一的: !pip install bc

安装已经进行了一段时间。之后我得到:

!公元前

已满足要求:c:\users\USERNAME\anaconda3\lib\site-packages 中的 bc (0.0.1)

  1. 我还下载了 Windows 版“bc-1.06-2.exe”(http://gnuwin32.sourceforge.net/packages/bc.htm)并安装了它。它安装在文件夹“mingw-w64/GnuWin32”下(自动),并且“bc.exe”存在于“mingw-w64/GnuWin32/bin”中。

但两次尝试都没有成功。

知道我能做些什么来解决这个问题吗?谢谢。

这里我附上了我的 Makefile:

# Please install kokkos in the following directory
# This directory has the same name as the kokkos repository,
# So please change your path to match this line so 
# all MOLTN users can have a consistent setup
KOKKOS_PATH = ${HOME}/kokkos

# Declares which type of parallism we are using
KOKKOS_DEVICES = "Serial"
EXE_NAME = "moltn_kokkos"

# Define the source files as our desired application plus all cpp files in the library
SRC = examples/advection.cpp $(wildcard library/*.cpp)
# Define the header files as our desired application plus all hpp files in the library
HDR = $(wildcard library/*.hpp)

default: build
    echo "Start Build" 

CXX = mpic++
CXXFLAGS = -O3 -DENABLE_MPI
EXE = ${EXE_NAME}.host
KOKKOS_ARCH = "BDW"

# Safe mode

override CXXFLAGS += -I./
LINK = ${CXX}
LINKFLAGS =

DEPFLAGS = -M

vpath %.cpp $(sort $(dir $(SRC)))

OBJ = $(notdir $(SRC:.cpp=.o))
LIB =

include $(KOKKOS_PATH)/Makefile.kokkos

$(warning $(OBJ) $(EXE) $(sort $(dir $(SRC))))

build: $(EXE)

$(EXE): $(OBJ) $(KOKKOS_LINK_DEPENDS) 
    $(LINK) $(KOKKOS_LDFLAGS) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(KOKKOS_LIBS) $(LIB) -o $(EXE)

clean: kokkos-clean
    echo "$(KOKKOS_DEVICES) $(KOKKOS_PATH) $(KOKKOS_CXXFLAGS)"
    rm -f *.o *.cuda *.host *.a *.h *.tmp *.x

# Compilation rules

%.o:%.cpp $(KOKKOS_CPP_DEPENDS) $(HDR)
    echo "$(KOKKOS_DEVICES) $(KOKKOS_PATH) $(KOKKOS_CXXFLAGS)"
    $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) $(EXTRA_INC) -c $< -o $(notdir $@)

test: $(EXE)
    ./$(EXE)
Run Code Online (Sandbox Code Playgroud)

Cin*_*its 8

bc或 GNU 基本计算器可以使用系统的包管理器安装在 Linux 上:

$ sudo apt install bc   #Debian/Ubuntu
$ sudo yum install bc   #RHEL/CentOS
$ sudo dnf install bc   #Fedora 22+
Run Code Online (Sandbox Code Playgroud)

在 Windows 上,您可以安装 WSL 并使用适当的包管理器进行安装或自行编译。

如果做不到这一点,您可以在 bc 的网站上找到您想知道的所有内容并进行下载: https: //www.gnu.org/software/bc/