Работать так, как ты ожидаешь, pip скорее всего не будет
Спугнешь человека) Пущай сначала более привычно сделает. pip работает нормально, но при попытке поставить им что-либо требующее внешних сборочных зависимостей окажется, что их нет. Для ОПа: Полезно понимать, что в nix сборочное выражение может производить деривацию с множественными output’ами помимо дефолтного «out» (можешь считать их субпакетами), всякие заголовочные файлы находятся в output’е «dev», который по умолчанию не устанавливается (можно сравить с Debian, в котором они вынесены в отдельные пакеты -dev). nix-shell -p ... создает среду в которой есть все output’ы перечисленных зависимостей и заполнены переменные окружения, позволяющие компилятору найти их заголовочные файлы.
's/\/usr\/bin\/python3/python3/', далее в зависимости от того, насколько установка перечисленных в requirements_dev.txt зависимостей зависит от наличия в окружении внешних (по отношению к питону) сущностей.