Есть ли способ добавить пользовательские псевдонимы в оболочку pipenv? - PullRequest
0 голосов
/ 02 мая 2018

Есть ли способ настроить pipenv таким образом, чтобы он загружал пользовательские псевдонимы bash в своей оболочке?

Я пытался поместить свой псевдоним в файл .env, но это не сработало. После этого я погуглил, но не смог найти решение.

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

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 добавляет в среду, для выбора файла для источника.

0 голосов
/ 03 мая 2018

К сожалению, нет способа сделать это напрямую.

Если вы счастливы использовать pipenv run вместо псевдонима оболочки, Pipenv имеет едва документированную пользовательскую комбинацию сценариев ; поместите что-то вроде этого в свой Pipfile:

[scripts]
printfoo = "python -c \"print('foo')\""

затем запустите pipenv run printfoo.

...