Pipenv Pipfile — установка пакета из частного репозитория

#environment-variables #pipenv #pipfile

#переменные среды #pipenv #pipfile

Вопрос:

Я пытаюсь установить пакет через Pipfile из частного репозитория.

Используя следующий синтаксис, VSCode запрашивает пароль (в консоли он блокируется навсегда), хотя мой токен экспортируется в мои переменные env:

 [packages]
pack1 = {editable = true, git = "https://${ACCESS_TOKEN}@github.com/.../pack1.git"}
  

Используя ACCESS_TOKEN напрямую, он работает так, как ожидалось:

 [packages]
pack1 = {editable = true, git = "https://myToken@github.com/.../pack1.git"}
  

Использование команды установки pipenv также отлично работает с моей переменной среды (ACCESS_TOKEN):

 pipenv install -e git https://${ACCESS_TOKEN}@github.com/.../pack1.git
  

У вас есть какие-либо идеи, как это решить?

Спасибо!

Комментарии:

1. Где именно вы установили переменную env ACCESS_TOKEN ? Как именно вы его экспортировали? VS Code просто использует базовый терминал вашей ОС, поэтому, если в конфигурации терминала есть экспортированный ACCESS_TOKEN, VS Code должен быть в состоянии его найти.

2. Также неясно, что означает » он блокируется навсегда «. Если URL-адрес git недействителен, pipenv install команда в конечном итоге завершится ошибкой (может занять некоторое время, но, конечно, не «навсегда»).

Ответ №1:

Вероятно, это связано с тем, что ваша pipenv версия не поддерживает расширение env-var в разделе требования (пакеты) (см. Этот выпуск). Это было исправлено в pipenv версии 2020.11.15.

У меня была именно эта проблема с более старой версией, и действительно, обновление pipenv 2020.11.15 заставило ее работать.