Le projet est à l'origine développé avec la réalisatrice Lynne Ramsay. Mais cette dernière abandonne le projet un jour avant le début du tournage, le [2]. Dès le lendemain, Gavin O'Connor est engagé pour la remplacer[3]. Le directeur de la photographie Darius Khondji se retire aussi du projet au départ de la réalisatrice, et c'est Mandy Walker qui en hérite.
Choix des interprètes
Michael Fassbender était prévu pour le rôle de Dan Frost. Il est finalement remplacé courant , quelques jours avant le début du tournage, par Jude Law, en raison du tournage de X-Men: Days of Future Past. Cependant, Jude Law intervertit son rôle avec celui de Joel Edgerton, qui devait initialement jouer John Bishop[4]. À la suite du départ de la réalisatrice, Jude Law quitte le projet à son tour. Alors que Tobey Maguire, Jake Gyllenhaal ou Jeff Bridges sont annoncés pour le remplacer[5], Bradley Cooper hérite du rôle laissé vacant par Jude Law[6]. Le , on apprend finalement que Bradley Cooper ne jouera pas dans le film[7], et qu'Ewan McGregor assurera le rôle[8].
Tournage
Le tournage devait initialement débuter le , mais il est reporté à la suite du départ de la réalisatrice Lynne Ramsay. Il a lieu dans l’État américain du Nouveau-Mexique[9].
Autour du film
Le titre du film, Jane Got a Gun, est un clin d’œil au film de Dalton TrumboJohnny s'en va-t-en guerre (Johnny Got His Gun en version originale) sorti en 1971.