makefile - 如何将 PYTHONPATH 设置为 Windows 上的当前目录

标签 makefile windows-10 ubuntu-20.04 pythonpath

我有一个包含 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/

相关文章:

objective-c - 目标模式不包含 '%' 。生成文件

postgresql - 包 'pgadmin4' 没有安装候选,适用于 Ubuntu 20.04

R 加载错误 - libproj.so.13 : cannot open shared object file: No such file or directory

生成文件 : Clock skew detected

makefile - 使 [1] : *** read jobs pipe: Resource temporarily unavailable. 停止

c - 无法使用Makefile链接数学库

user-interface - 与 Windows 应用商店应用程序的 UI 控件交互

java - Gradle 构建旧版本代码

c++ - Windows 10 CredentialProvider 平铺图像透明度

syntax-error - youtube-dl中不支持的格式字符错误