web-dev-qa-db-fra.com

Comment exécuter le code Python à partir de Sublime Text 2?

Je souhaite configurer un Python complet IDE dans Sublime Text 2.

Je veux savoir comment exécuter le code Python à partir de l'éditeur. Est-ce fait en utilisant le système de construction? Comment fait-on ça ?

301
neo

Outils -> Construire le système -> (choisissez) Python puis:

Courir:

      Tools -> Build

      -or-

      Ctrl + B

      CMD + B  (OSX)

_ {Ceci lancera votre fichier dans la console, ce qui devrait être au bas de l'éditeur.

Arrêter:

       Ctrl + Break or Tools -> Cancel Build

       Fn + C (OSX)

Vous pouvez trouver où se trouve votre clé Break: http://en.wikipedia.org/wiki/Break_key

Remarque: CTRL + C fonctionnera ET NON.

Que faire lorsque Ctrl + Break ne fonctionne pas:

Aller à: 

Préférences -> Liaisons de touches - Utilisateur

et collez la ligne ci-dessous: 

{"keys": ["ctrl+shift+c"], "command": "exec", "args": {"kill": true} } 

Maintenant, vous pouvez utiliser ctrl+shift+c au lieu de CTRL+BREAK

357
matiit

Sur Mac OS X, enregistrez votre fichier avec l’extension .py. presse  + B. Il s'exécute dans une fenêtre ci-dessous.

enter image description here

56
bobobobo

Modifier% APPDATA%\Sublime Text 2\Python\Python.sublime-build 

Changer le contenu en:

{
    "cmd": ["C:\\python27\\python.exe", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

remplacez la partie "c:\python27" par n’importe quelle version de python présente sur votre système. 

55
ppy

Pour exécuter , appuyez sur CtrlB (répondez par matiit )

Mais quand CtrlB  ne fonctionne pas , Sublime Text ne peut probablement pas trouver l'interpréteur Python. Lorsque vous essayez d’exécuter votre programme, consultez le journal et recherchez la référence à Python dans chemin.

[cmd:  [u'python', u'-u', u'C:\\scripts\\test.py']]
[path: ...;C:\Python27 32bit;...]

Le fait est qu’il essaie d’exécuter python via la ligne de commande, la cmd ressemble à ceci:

python -u C:\scripts\test.py

Si vous ne pouvez pas exécuter python à partir de cmd, Sublime Text ne le peut pas non plus.
(Essayez vous-même dans cmd, tapez python et exécutez-le, la ligne de commande python devrait apparaître)

SOLUTION

Vous pouvez modifier la formule de génération de texte Sublime ou le code %PATH%.

  • Pour définir votre %PATH%:
    * Vous devrez redémarrer votre éditeur pour charger le nouveau %PATH%

    • Exécuter la ligne de commande * et entrez cette commande: * doit être exécuté en tant qu'administrateur
      SETX /M PATH "%PATH%;<python_folder>"
      par exemple: SETX /M PATH "%PATH%;C:\Python27;C:\Python27\Scripts"

    • OU manuellement: (préférable)
      Ajoutez ;C:\Python27;C:\Python27\Scripts à la fin de la chaîne. Setting Path in Win7

  • Pour définir le chemin de l'interpréteur sans modifier le système %PATH%, reportez-vous à cette réponse par ppy .

43
Qwerty

Vous pouvez utiliser SublimeREPL (vous devez d'abord installer Package Control ).

9
invis

Si vous utilisez python 3.x, vous devez éditer le Python3.sublime-build 

(Préférences> Parcourir les packages> Python 3) 

ressembler à ceci:

{
  "path": "/usr/local/bin",
  "cmd": ["python3", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python"
}
7
Daniel Romero

[Ceci s'applique à ST3 (Win), vous n'êtes pas sûr de ST2]

Pour que la sortie soit visible dans Sublime sous un autre fichier (+ un pour les erreurs), procédez comme suit:

  1. Créez un nouveau système de construction: Tools > Build Systems > New Build System...
  2. Utilisez la configuration suivante:
 
 {
 "cmd": ["python.exe", "$ file", "1>", "$ nom_fichier .__ STDOUT __. txt", "2>" , "$ nom_fichier .__ STDERR __. txt"], 
 "sélecteur": "source.python", 
 "Shell": vrai, 
 "rép_travail": "$ rép_fichier" 
} 
  1. Pour votre fichier Python, sélectionnez le fichier de configuration du système de construction ci-dessus: Tools > Build Systems > {your_new_build_system_filename}
  2. ctrl + b
  3. Maintenant, à côté de votre fichier, par exemple "file.py" vous aurez "file.__STDOUT__.py" et "file.__STDERR__.py" (pour les erreurs éventuelles)
  4. Si vous divisez votre fenêtre en 3 colonnes ou une grille, vous verrez le résultat immédiatement, sans avoir à changer de panneau/fenêtre.
4
ellockie

En python v3.x, vous devriez aller à: Tools->Build System->New Build System.

Ensuite, la fenêtre untitled.sublime-build apparaît dans l’éditeur de texte sublime. Entrez le paramètre comme:

{

    "cmd": ["path_to_the_python.exe","-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

Pour voir le chemin, Type following in terminal as:

python
>>> import sys
>>>print(sys.executable)

Vous pouvez créer plus d’un système de compilation, mais il doit enregistrer par défaut dans Les paquets de texte Sublime avec .sublime-build extension.

Ensuite, sélectionnez le nouveau Build System et appuyez sur cltr+b ou un autre en fonction de votre système d’exploitation. 

2
susan097

Cool les gars, je viens de trouver ceci:

http://ptomato.wordpress.com/2012/02/09/geek-tip-running-python-guis-in-sublime-text-2/

Il explique (comme l'une des réponses ci-dessus) comment éditer ce exec.py dans le répertoire par défaut.

J'ai eu le problème que mon application PYTHON UI ne démarre pas. J'ai commenté la dernière ligne de la coupe suivante:

    # Hide the console window on Windows
    startupinfo = None
    if os.name == "nt":
        startupinfo = subprocess.STARTUPINFO()
        #startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

et, taaadaaaa, je pourrais démarrer mon application en appuyant sur Ctrl + B. Drôle de toute façon, hein? Et un grand merci à quiconque a écrit cet article ;-)

2
anhoppe

J'ai résolu ce problème:

> Preferences –> Browse Packages –> Default 

Ouvrez le fichier exec.py, près de la ligne 41-42, le code devrait ressembler à ceci:

for k, v in proc_env.iteritems():
    proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())

puis supprimez-le ou modifiez-le en tant que:

try:    
    for k, v in proc_env.iteritems():
        proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
except:
    print 'foobar'
1
Rhea

Vous pouvez accéder à la console Python via “View/Show console” ou Ctrl+`.

1
poke

J'ai rencontré le même problème aujourd'hui. Et voici comment j'ai réussi à exécuter du code python dans Sublime Text 3:

  1. Presse Ctrl + B (pour Mac,  + B) pour démarrer le système de construction. Il devrait exécuter le fichier maintenant.
  2. Suivez cette réponse pour comprendre comment personnaliser le système de construction.

Ce que vous devez faire ensuite est de remplacer le contenu de Python.sublime-build par

{
    "cmd": ["/usr/local/bin/python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
}

Vous pouvez bien sûr personnaliser davantage le système selon vos besoins.

1
Huang Chao

J'ai eu le même problème. Vous n'avez probablement pas encore enregistré le fichier. Assurez-vous de sauvegarder votre code avec l’extension .py et cela devrait fonctionner.

0
Onat

Utilisez une vraie console python aux côtés de Sublime

Le système de génération de Sublime et SublimeREPL (les réponses ci-dessus) sont limités en ce sens que vous ne pouvez pas facilement interagir avec les variables de l'espace de travail après avoir exécuté votre fichier. 

Si vous voulez exécuter un script et que vous travaillez à la manière de REPL (comme vous le feriez dans un IDE), il est recommandé d'ouvrir Sublime à côté d'une console IPython. À l'aide d'AutoHotKey (Windows) ou AutoKey (Linux), vous pouvez configurer cela de sorte qu'un seul raccourci copie le nom de fichier (ou uniquement le code sélectionné), puis le colle dans la console pour exécuter le fichier.

Instructions détaillées pour Linux ou Windows

0
hugke729

Une chose à noter sur le système build précédent : vous pouvez écrire (et utiliser) des fichiers .sublime-build personnalisés ou même par clause build_systems de projet (dans les paramètres de votre projet). Cela vous permet de réaliser des tâches utiles, telles que un programme de test sophistiqué avec une sortie couleurs ANSI .

Pour encore plus de fonctionnalités "complètes", vous pouvez utiliser l'excellent SublimePythonIDE package:

  • complétion de code (intel)
  • aller à la définition et à la description de l'objet
  • linting approprié/pep8
  • prend en charge différents interprètes avec virtualenv

Divulgation: J'ai fourni un RP à ce paquet, et je l'utilise tout le temps, mais ilexisteautres .

0
tutuDajuju