我有一个包含 makefile 的项目,它使用 PYTHONPATH=$(shell pwd)
将 pythonpath 设置为当前目录。但我知道所使用的方式仅适用于linux。回避的方法是使用 linux 操作系统或 wsl ubuntu 终端,但我想回避所有这些。所以 makefile 中的完整部分是:
CONFIG_PATH=./experiments/configs/
CONFIG_NAME=seld.yml
OUTPUT=./outputs # Directory to save output
EXP_SUFFIX=_test # the experiment name = CONFIG_NAME + EXP_SUFFIX
RESUME=False
GPU_NUM=0 # Set to -1 if there is no GPU
.phony: train
train:
PYTHONPATH=$(shell pwd) CUDA_VISIBLE_DEVICES="${GPU_NUM}" python experiments/train.py --exp_config="${CONFIG_PATH}${CONFIG_NAME}" --exp_group_dir=$(OUTPUT) --exp_suffix=$(EXP_SUFFIX) --resume=$(RESUME)
如果我想在windows上有同样的效果,应该如何编辑? 我已经搜索过这个,但没有发现任何有用的东西。找到的所有答案都是针对linux的。我知道我可以在系统环境变量中设置 Windows 上的 pythonpath,但我不知道在这种情况下该行应该如何更改?是否应该将 pythonpath 添加到我的系统环境变量中?
最佳答案
GNU Make 有内置变量 CURDIR,它具有当前工作目录的绝对路径:PYTHONPATH=$(CURDIR)
。
但您可以将其作为相对路径提供,其中它只是 PYTHONPATH=.
。
我意识到这在 Windows shell 中不起作用。您可以使用目标特定变量来设置它:
train: export PYTHONPATH=.
关于makefile - 如何将 PYTHONPATH 设置为 Windows 上的当前目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72248561/