Как импортировать несколько местоположений в PYTHONPATH (bash)


Я знаю, что вы можете добавить несколько местоположений в путь python, разделив их двоеточиями ie:

export PYTHONPATH=~/one/location:~/second/location

И т. д.

У меня есть несколько мест, чтобы добавить, и это выглядит грязно, используя вышеупомянутый метод. Есть ли способ сложить их в несколько строк? Это то, что я пробовал, и последняя строка стирает первую.

export PYTHONPATH=~/one/location
export PYTHONPATH=~/second/location

Спасибо

3 15

3 ответа:

PYTHONPATH=~/one/location:$PYTHONPATH
PYTHONPATH=~/second/location:$PYTHONPATH
export PYTHONPATH
Обратите внимание на порядок здесь: я сделал их так, чтобы каждый имел более высокий приоритет, чем предыдущий; вы можете переключать то, что идет по обе стороны двоеточия, если хотите, чтобы последующие записи имели более низкий приоритет.

Предполагая, что вы экспортируете из разных файлов, вызываемых один за другим:

export PYTHONPATH=~/one/location:${PYTHONPATH}

И

export PYTHONPATH=~/second/location:${PYTHONPATH}

Если у вас есть много таких путей, вы можете хранить их в массиве

declare -a array
array[0]=~/one/location 
array[1]=~/two/location 
array[2]=.....
export PYTHONPATH=$(printf "%s:${PYTHONPATH}" ${array[@]})