假设.env
文件在执行之前加载,如何附加到它而不覆盖它?
DEBUG=True
FOO=BAR
PYTHONPATH="/Users/James/project/"
上面的文件会(?)覆盖它,这会很糟糕。我可以将其放入 .bash_profile
or中.profile
,但这与我现在所拥有的不一致,而且我virtualenv
也只想将其设置为当前。
我不认为这有什么区别,但我使用的是 Mac OS X(我使用的教程是多平台的)
答案1
您最可能想要做的是导出您感兴趣的变量。以下操作将使该变量可用于当前 shell 及其创建的任何子进程:
export PYTHONPATH=$PYTHONPATH:/Users/James/project
这里使用的进程PYTHONPATH
将首先在现有路径中搜索其目标,如果未找到,则尝试/Users/James/project
.如果您想覆盖某些现有路径,可以先添加新路径:
export PYTHONPATH=/Users/James/project:$PYTHONPATH
在任何一种情况下,其他 shell 都不会看到该变量(显然关闭 shell 将使该变量不可访问)。