Você pode usar a2ps
. Com a opção -o OUTPUTFILE.ps
, produz um arquivo postscript, que pode então ser convertido em pdf usando, por exemplo, ps2pdf
(do pacote ghostscript). A numeração de linhas pode ser ativada com --line-numbers=1
. Não sei se o marcador de sintaxe de a2ps suporta padrões python recentes.
Se você preferir as soluções LaTeX, eu recomendaria o listings
pacote.