gpt4 book ai didi

python - 从 makefile 激活 Anaconda Python 环境

转载 作者:太空狗 更新时间:2023-10-29 18:28:41 32 4
gpt4 key购买 nike

我想使用 makefile 来构建我的项目环境,使用 makefile 和 anaconda/miniconda ,所以我应该能够克隆 repo 并简单地运行 make myproject

myproject: build

build:
@printf "\nBuilding Python Environment\n"
@conda env create --quiet --force --file environment.yml
@source /home/vagrant/miniconda/bin/activate myproject

但是,如果我尝试这样做,我会收到以下错误

make: source: Command not found

make: *** [source] Error 127

我已经搜索了一个解决方案,但是 [这个问题/答案 ( How to source a script in a Makefile? ) 表明我不能在 makefile 中使用 source

This answer , 然而,提出了一个解决方案(并收到了一些赞成票)但这对我也不起作用

( \
source /home/vagrant/miniconda/bin/activate myproject; \

)

/bin/sh: 2: source: not found

make: *** [source] Error 127

我还尝试将 source activate 步骤移动到一个单独的 bash 脚本,并从 makefile 中执行该脚本。这是行不通的,我假设出于类似的原因,即我正在从 shell 中运行 source

我应该补充一点,如果我从终端运行 source activate myproject,它会正常工作。

最佳答案

我遇到了类似的问题;我想从 Makefile 创建或更新一个 conda 环境,以确保我自己的脚本可以使用该 conda 环境中的 python。
默认情况下,make 使用 sh 来执行命令,而 sh 不知道 source(另见 this SO answer)。我只是将 SHELL 设置为 bash 并以(仅相关部分)结束:

SHELL=/bin/bash
CONDAROOT = /my/path/to/miniconda2
.
.
install: sometarget
source $(CONDAROOT)/bin/activate && conda env create -p conda -f environment.yml && source deactivate

希望对你有帮助

关于python - 从 makefile 激活 Anaconda Python 环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38878088/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com