J'essaie de configurer PyCharm pour qu'il appelle un script Shell au lieu de python, comme option d'exécution. Est-ce possible? Dans les options par défaut, je n'ai que des tests Python, Docs Python et Python. Avec l'édition professionnelle, j'ai aussi Django et d'autres. Cependant, ils ont tous python comme interprète dans une liste déroulante et ils ne peuvent pas être changés aussi loin que je peux voir.
C'est vraiment une fonctionnalité manquante qui devrait normalement être considérée comme une fonctionnalité de base. Il y a deux options
J'ai d'abord essayé de créer une configuration Python standard (vide) et d'utiliser l'option "Avant le lancement" -> outil externe. Vous devez donc créer une nouvelle définition d'outil externe avec les paramètres de l'outil:
Le problème avec cette solution est que la sortie standard "outil externe" est redirigée vers un onglet supplémentaire dans la fenêtre du journal de la console qui passe immédiatement en arrière-plan lorsque la configuration fictive de Python est exécutée.
Je pense que le moyen le plus simple est d'écrire un script python qui appelle le fichier .bat, puis de l'exécuter:
from subprocess import Popen
p = Popen("batch.bat", cwd=r"C:\Path\to\batchfolder")
stdout, stderr = p.communicate()
Une autre solution à ce problème consiste à modifier le fichier config/options/jdk.table.xml
dans le dossier de configuration de votre PyCharm. Vous ajoutez simplement une autre entrée dans votre liste jdks
:
<jdk version="2">
<name value="Python 3.7 (docker)" />
<type value="Python SDK" />
<version value="Python 3.7.0" />
<homePath value="/path/to/your/Shell.sh" />
<roots>
<classPath>
<root type="composite" />
</classPath>
<sourcePath>
<root type="composite" />
</sourcePath>
</roots>
<additional />
</jdk>
Après cela, sélectionnez simplement votre interprète pour votre projet et vous pourrez utiliser ce shell comme interprète. J'ai utilisé cette solution lors de l'utilisation d'interprète à l'intérieur de l'image du docker.