[英]How do I set an environment variable in Makefile for Windows?
我有以下Makefile:
PYTHON = python
.DEFAULT_GOAL = help
help:
@echo ------------------------------Makefile for Flask app------------------------------
@echo USAGE:
@echo make dependencies Install all project dependencies
@echo make docker Run Docker
@echo make env Set environment variables
@echo make run Run Flask app
@echo make test Run tests for app
@echo ----------------------------------------------------------------------------------
dependencies:
@pip install -r requirements.txt
@pip install -r dev-requirements.txt
docker:
docker compose up
env:
@set CS_HOST_PORT=5000
@set CS_HOST_IP=127.0.0.1
@set DATABASE_URL=postgresql://lv-python-mc:575@127.0.0.1:5482/Realty_DB
@set REDIS_IP=127.0.0.1
@set REDIS_PORT=6379
run:
${PYTHON} app.py test:
@${PYTHON} -m pytest
set
命令不起作用並且沒有設置環境變量,可能是什么問題?
您當然可以設置對make 將調用的程序有效的環境變量。 但是make
不能為調用 make 的 shell設置環境變量。 因此,如果您的 makefile 運行一個程序,那么您可以在 makefile 中設置一個在該程序中可見的環境變量。
順便說一句,這與制造無關。 這是操作系統的限制(或功能,取決於您的觀點)。 試試這個實驗:
set FOO=bar
echo %FOO%
。 看到它打印bar
。cmd.exe
set FOO=nobar
echo %FOO%
。 看到它打印nobar
。exit
新的 shellecho %FOO%
你會看到它仍然打印bar
而不是nobar
。 這是因為操作系統不允許子程序修改其父程序的環境。
所以,對此沒有什么可以做的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.