Je suis en Python depuis environ 7 ans maintenant et j'ai changé divers environnements de développement tels que PyScripter et Vim. Parmi eux, ** PyCharm affirme qu'il s'agit de l'environnement de développement Python le plus puissant **.
Développé par Jet Brains d'IntelliJ IDEA, il a récemment annoncé Gogland, un IDE pour le langage Go. L'environnement d'exploitation est multi-plateforme Windows / OS X / Linux. Il existe des versions gratuites et payantes de PyCharm, mais la version gratuite est plus que suffisante pour un développement normal.
Laissez-moi vous montrer à quel point PyCharm est utile.
PyCharm vérifie le code en temps réel (en utilisant PyFlakes), mais Vim peut faire de même, donc ce n'est pas nouveau. L'avantage de PyCharm est qu'il possède une fonctionnalité qui ** corrige correctement les avertissements **.
Par exemple, supposons que vous écrivez un code comme celui-ci:
member = {}
member["name"] = "Tim"
member["age"] = 32
member["sex"] = "men"
PyCharm donne une ligne ondulée pour vous avertir des mauvaises pièces.
Je ne sais pas ce que vous dites, mais déplaçons le curseur sur la ligne ondulée et appuyez sur "Alt + Entrée" (pour Windows).
Il proposera une solution à l'avertissement, alors sélectionnez "Remplacer la création du dictionnaire".
members = {"name": "Tim", "age": 32, "sex": "men"}
Plusieurs lignes de déclarations et d'initialisations de variables redondantes ont été optimisées pour une phrase. De cette façon, PyCharm fera ** quelque chose à ce sujet ** si vous appuyez sur "Alt + Entrée" lorsque vous êtes en difficulté.
Une autre chose qui est sobre et pratique est qu'il dispose d'un dictionnaire anglais qui signale les mots mal orthographiés et les erreurs au pluriel **.
La figure ci-dessus est un exemple où il est souligné que la forme plurielle de "propriété" doit être écrite comme "propriétés" (correctement "propriétés"). Grâce à cette fonction d'avertissement, je n'ai pas à commettre plusieurs erreurs de mots anglais embarrassantes.
Si vous souhaitez inspecter tous les codes à la fois, vous pouvez sélectionner "Code" -> "Inspecter le code ..." dans le menu pour inspecter tous les codes à la fois.
Il va sans dire que Python est un langage typé dynamiquement. Il est également un fait que la complétion est difficile à travailler car il s'agit d'un langage typé dynamiquement, et une erreur se produit car un type non valide est spécifié dans l'argument. Avec PyCharm, l'indication de type vous permet de pré-taper check ** comme un langage typé statiquement.
Par exemple, supposons que vous ayez défini une fonction `get_digit``` qui trouve les chiffres d'un nombre, et que l'argument accepte` `ʻint``` ou`
float. Si `` `str
ou
list``` est spécifié comme argument, TypeError se produira.
def get_digit(x):
digit = 0
while x > 0:
x //= 10
digit += 1
return digit
Résultat d'exécution
get_digit(130)
>>> 3
get_digit(130.0)
>>> 3
get_digit("text")
>>> TypeError
Écrivons l'indication de type de PyCharm. Si vous déplacez le curseur sur l'argument ou la fonction et appuyez sur "Alt + Entrée", le modèle d'indication de type sera généré, il est donc très facile à écrire.
Le code qui décrit l'indication de type est le suivant.
def get_digit(x):
"""
:type x: int or float
:rtype: int
"""
digit = 0
while x > 0:
x //= 10
digit += 1
return digit
Après avoir écrit une indication de type, si vous essayez de passer une chaîne à
get_digit```, vous obtiendrez un avertissement.
Je n'écris pas de commentaires de fonction, mais seulement des indices de type. (Un esprit qui ne nécessite pas de commentaires si le nom est approprié)
À propos, si vous souhaitez définir une indication de type pour les membres de la classe, écrivez comme suit.
class A(object):
"""
:type name: basestring
:type description: basestring or None
"""
def __init__(self, name):
self.name = name
self.description = None
Avec PyCharm, Python devient ** le langage le plus puissant des langages dynamiques et statiquement typés **. Il prend également en charge les annotations de type introduites dans Python 3.5.
Pour plus d'informations sur la saisie, consultez l'aide de Jet Brains ci-dessous. Type Hinting in PyCharm
La fenêtre de recherche qui apparaît lorsque vous appuyez deux fois sur «Shift» est très pratique.
Avec cela seul, toutes les recherches, y compris les fichiers, les classes, les méthodes, les membres et les variables, sont agrégées ici.
Il y a aussi une recherche grep Ctrl + Maj + F
, il suffit de se souvenir de deux fonctions pour rechercher le code
Il affiche également une liste de commentaires TODO écrits dans la source en sélectionnant «Affichage» -> «Fenêtres d'outils» -> «TODO Alt + F6» dans le menu.
Il existe une fonction qui affiche une liste TODO avec CI utilisant Jenkins etc., mais c'est pratique car elle peut être exécutée localement sans préparer de serveur.
La fonction de refactoring est également importante.
Bien qu'il s'agisse d'un langage typé dynamiquement, renommer les noms de variables et les noms de membres sera ** renommé de manière agréable ** en tenant compte de la portée. Bien sûr, puisqu'il s'agit d'un langage typé dynamiquement, les noms de membres peuvent ne pas être renommés correctement. L'indication de type doit être décrite autant que possible pour améliorer la précision du refactoring.
Il existe également un modèle pour les fichiers fréquemment utilisés. Les modèles UnitTest et SetupScript sont également fournis en standard, ce qui réduit considérablement la charge de création de UnitTest et setup.py.
Bien sûr, vous pouvez également définir votre propre modèle. Vous pouvez modifier à partir de "Nouveau" -> "Modifier les modèles de fichiers ..." dans le menu contextuel.
Bien sûr, les variables de modèle sont également préparées, de sorte que les dates et les créateurs peuvent être insérés automatiquement.
Je développe PySide / PyQt et j'enregistre un fichier de formulaire d'interface utilisateur. Pour plus de détails, consultez ["Ajouter" Qt UI Designer Form "au modèle #file où l'environnement de développement PySide / PyQt le plus puissant est également PyCharm"](http://qiita.com/pashango2/items/5d3c278f05ad151bfd5a#%E3%83% 95% E3% 82% A1% E3% 82% A4% E3% 83% AB% E3% 83% 86% E3% 83% B3% E3% 83% 97% E3% 83% AC% E3% 83% BC% Voir E3% 83% 88% E3% 81% ABqt-ui-designer-form% E3% 82% 92% E8% BF% BD% E5% 8A% A0% E3% 81% 99% E3% 82% 8B) Je te veux.
Pour plus d'informations sur les modèles de fichiers, consultez l'aide de Jet Brains ci-dessous. Creating and Editing File Templates
Il a de nombreuses fonctions de débogage et vous pouvez penser que vous pouvez presque faire des choses basiques.
--Installation de points d'arrêt --Installation de points d'arrêt conditionnels --Type de montre
La figure ci-dessous montre l'affichage de l'éditeur lors du débogage, et la valeur actuelle est affichée à côté de la variable, ce qui rend les informations très faciles à voir.
Soit dit en passant, c'est une méthode pour définir un point d'arrêt conditionnel, mais comme l'écran de configuration apparaît en cliquant avec le bouton droit sur le point d'arrêt, écrivez simplement l'expression conditionnelle dans "Condition".
Après tout, si le débogueur peut être utilisé avec l'interface graphique, l'efficacité du débogage augmentera considérablement. PyCharm ne peut pas être séparé car un débogueur est requis dans une certaine mesure pour un grand projet.
Il est lié à VCS (système de gestion de version) tel que Git et Mercurial, et des opérations simples telles que l'ajout de fichiers peuvent être effectuées sur PyCharm.
En particulier, les fichiers suivis, non suivis et non validés sont codés par couleur, il est donc utile de connaître l'état de la validation en un coup d'œil.
Si vous souhaitez vérifier facilement l'historique de VCS, vous pouvez le vérifier à partir de PyCharm comme indiqué dans la figure ci-dessous.
PyCharm prend également en charge l'environnement virtuel d'Anaconda. Menu "Fichier" -> "Paramètres" -> "Interpréteur de projet" Vous pouvez configurer un environnement Python pour chaque projet.
Mon environnement est Miniconda (la plus petite version d'Anaconda), qui est un mélange de Python 2.7 / 3.4 / 3.5 et de trois environnements virtuels Python.
J'ai donc créé un répertoire racine Python et créé un projet pour chaque version de Python. Un exemple de code et chaque produit sont gérés en tant que sous-projets. C'est pratique car vous pouvez parcourir les produits et les exemples de code que vous avez écrits jusqu'à présent sous forme d'arborescence sur PyCharm.
Structure de répertoires Python
Python/
├ Python35/
| ├ project a
| ├ project b
| └ moules
|
├ Python34/
| ├ project a
| ├ project b
| └ moules
|
└ Python27/
├ project a
├ project b
└ moules
En faisant cela, vous pouvez changer d'environnement virtuel en changeant simplement le projet PyCharm sans taper la commande "activer / désactiver".
Les paramètres de structuration du projet peuvent être définis en cliquant avec le bouton droit sur le menu du répertoire "Marquer le répertoire comme" -> "Racine des sources". S'il est défini sur "Source Root", ce répertoire sera traité comme la racine du sous-projet.
Pour plus d'informations sur la structuration du projet, consultez l'aide de Jet Brains ci-dessous.
Il peut également être lié à Jupyter Notebook (IPython) de PyCharm, et peut être créé avec le menu contextuel "Nouveau" -> "Jupyter Notebook".
La complétion de code utilise PyCharm, donc c'est plus confortable que de fonctionner dans un navigateur. Cependant, il est dommage que les raccourcis clavier créés par Jupyter ne puissent pas être utilisés.
J'utilise souvent Jupyter Notebooks pour tester le traitement d'image avec PIL, mais lorsque je lance Jupyter Notebook à partir de la ligne de commande sous Windows, je suis libéré de l'illusion d'un lancement Microsoft Edge inutilisé.
Pour la coopération avec Jupyter, reportez-vous à l'aide de Jet Brains ci-dessous.
Using IPython/Jupyter Notebook with PyCharm
IntelliJ IDEA, qui est la base de PyCharm, dispose de nombreux plug-ins, et PyCharm peut également utiliser le plug-in.
Un plug-in utile pour PyCharm est un plug-in appelé «File Watchers». C'est un exécuteur de tâches qui surveille les fichiers et exécute automatiquement les commandes lors de la mise à jour.
Je convertis automatiquement le fichier ui de PySide / PyQt. Pour plus de détails, voir ["L'environnement de développement PySide / PyQt le plus puissant est également PyCharm. Les fichiers #Ui sont automatiquement convertis en fichiers py."](Http://qiita.com/pashango2/items/5d3c278f05ad151bfd5a#ui%E3%83%95 % E3% 82% A1% E3% 82% A4% E3% 83% AB% E3% 82% 92% E8% 87% AA% E5% 8B% 95% E7% 9A% 84% E3% 81% ABpy% E3 Veuillez vous référer à% 83% 95% E3% 82% A1% E3% 82% A4% E3% 83% AB% E3% 81% AB% E5% A4% 89% E6% 8F% 9B).
Consultez également l'aide de Jet Brains ci-dessous.
PyCharm a tellement de fonctionnalités que je ne peux pas couvrir ici, et il y a probablement des fonctionnalités plus utiles que je ne connais pas. Je pense que les gens qui utilisent Python mais pas PyCharm perdent beaucoup.
La complétion de code en particulier est excellente, donc je veux que les débutants en Python utilisent PyCharm. C'est un très bon outil.
J'ai écrit la suite de l'article, "Règles de fonctionnement PyCharm que je pratique".
De plus, j'ajouterai un article qui transmet le charme de PyCharm.
[Nouvelle fonction PyCharm 5.0] Visualisez et déboguez l'état d'exécution du thread async / await
"Générer le notebook Jupyter" .ipynb "en Python"
Raccourcis IntelliJ IDEA pour les personnes occupées (´-`)
Fonctions de gestion IntelliJ IDEA Git inconnues de manière inattendue (´-`)