Я часто использую pipenv в своем текущем проекте, но теперь я наткнулся на поведение, которое я не могу объяснить.
В одном из моих заданий Jenkins выполняются следующие шаги:
- Перейдите в каталог, который содержит PipFile
- Создайте каталог .venv внутри этого каталога
- Вызовите pipenv install
Теперь pipenv - -py, pipenv --where и pipenv --venv дают вполне разумное поведение, и все работает как положено. Теперь моя работа в Дженкинсе хранит рабочий каталог, в который я позвонил pipenv, и распаковывает его на P C без прямого соединения inte rnet. Теперь рабочий каталог полностью поврежден, поскольку pipenv фактически не скопировал установку python непосредственно в .venv, а просто создал символьные c ссылки. Эти символьные ссылки c не копируются во время сохранения и удаления и отсутствуют на другом компьютере.
Еще более запутанно то, что если я вызываю pipenv install в упомянутом каталоге как обычный пользователь, а не как jenkins пользователь, python .exe и все другие связанные файлы действительно c копируются, а не просто связаны в папке .venv.
Чего не хватает в конфигурации, среде Jenkins, Windows, Pipenv, что могло бы объяснить это странное поведение?