用cmake创建并激活conda环境

0 人关注

我在一个 CMakeLists.txt 文件里有如下内容。我试图用cmake来检查系统上是否安装了名为 myenv 的conda环境,并激活该环境。如果环境不存在,就创建环境并激活它。这假定conda已经通过以下方式安装了 蟒蛇 (或Miniconda)。

# Create and activate a Python environment.
cmake_minimum_required(VERSION 3.18)
# Define the project
project(MyExample)
# Specify the C++ standard
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# Make sure Python is installed
find_package(Python REQUIRED)
# Activate conda environment, assume Anaconda or Miniconda is already installed
if(EXISTS /opt/miniconda3/envs/myenv)
    execute_process(COMMAND conda activate myenv)
else()
    execute_process(COMMAND conda create --yes --quiet --name myenv python)
    execute_process(COMMAND conda activate myenv)
endif()

当我运行上述cmake文件时,我得到了错误。

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.

然而,conda已经安装在我的系统上,我可以在终端手动激活环境。为什么环境不能通过cmake激活?

python
cmake
anaconda
conda
wigging
wigging
发布于 2022-06-01
1 个回答
merv
merv
发布于 2022-06-03
已采纳
0 人赞同

"为什么环境没有通过cmake被激活? "

第一个问题是在错误信息中,它表明CMake评估 execute_process 命令的shell不知道 conda activate 是什么意思。