Misture aleatoriamente linhas de arquivo de 3 milhões de linhas

Tudo está no título. Gostaria de saber se alguém conhece um rápido e com memória razoável exige uma maneira de misturar aleatoriamente todas as linhas de um arquivo de 3 milhões de linhas. Eu acho que não é possível com um comando vim simples, portanto, qualquer script simples usando Python. Tentei com python usando um gerador de números aleatórios, mas não consegui encontrar uma saída simples.