pipenv только выходит может в дополнительные приколы, тот же dev-packages например
Не только. Pipenv умеет разрешать дочерние зависимости более правильно. Если у тебя есть 2 пакета верхнего уровня, у которых свои завиисмости с разными требованиями к версии, pipenv найдёт пересечение этих требований и установит самое свежее из доступных. Pip установит самое свежее для первого найденного родительского пакета. А про установке второго пакета словит конфликт.