pipenv shell
, кажется, принимает дополнительные аргументы, которые отправляются в качестве начальной команды в оболочку, которую она запускает. Смоделированная сессия следует:
$ cat tmp.sh
echo hi
$ pipenv shell . tmp.sh
Spawning environment shell (/bin/bash). Use 'exit' to leave.
. .../bin/activate
. . tmp.sh
$ . .../bin/activate
$ . tmp.sh
hi
$
Поскольку pipenv shell
просто запускает интерактивный сеанс оболочки, названный переменной среды SHELL
, вы можете добавить код в свой обычный файл .bashrc
для получения специального локального файла при запуске, если он существует:
if [[ -f .pipenvshrc ]]; then
. .pipenvshrc
fi
Вы также можете поиграть с идеей использования значения $VIRTUAL_ENV
, которое pipenv shell
добавляет в среду, для выбора файла для источника.