web-dev-qa-db-fra.com

Principes de base de la configuration d'un espace de travail et de projets Spyder

J'ai cherché un didacticiel de base concernant les espaces de travail et les projets dans Spyder IDE. Ce que je veux comprendre, ce sont les concepts de base de l'utilisation de l'espace de travail et des projets pour organiser mon code. Il semble que ce soit peut-être des compétences de programmation de base et c'est la raison pour laquelle j'ai des problèmes pour trouver un aperçu. Cette page semble être liée, mais concerne en réalité Eclipse et plutôt clairsemée. Le tutoriel Pythonxy et la documentation pour Spyder n'entrent pas dans les détails. La documentation Anaconda non plus.

Mes questions sont les suivantes:

Quand dois-je configurer un nouvel espace de travail (si jamais)?

Quand dois-je créer un nouveau projet?

Comment le PYTHONPATH dépend-il de mes paramètres d'espace de travail et de projet? Est-ce la même chose dans tous les cas ou puis-je le personnaliser par espace de travail/projet?

Existe-t-il d'autres paramètres que le PYTHONPATH que je devrais configurer?

Quelle est la précision des réponses ci-dessus à Spyder? Serait-ce la même chose pour d'autres IDE, comme Eclipse?

J'exécute Spyder sur Windows 7 64 bits, dans le cadre du package Anaconda.

24
Fredrik

J'utilise spyder pour l'analyse des données et je viens de commencer à utiliser l'espace de travail du projet. Je crois que cela vous permet d'écrire un meilleur code grâce à l'organisation. Comme un article précédent a déclaré que "cela peut être utile dans le développement Web", ce qui est vrai parce que le développement Web nécessite une bonne ingénierie logicielle en raison de la complexité des fichiers et de la façon dont ils interagissent les uns avec les autres. Cette organisation/structure peut également être utilisée dans l'analyse des données.

Souvent, les analystes de données qui utilisent Anaconda ont une formation en ingénierie ou en science, pas nécessairement en génie logiciel ou en informatique. Cela signifie que de bons principes d'ingénierie logicielle peuvent manquer (moi y compris). La mise en place d'un espace de travail fait une chose cruciale qui, je pense, manque dans la discussion. Il ajoute l'espace de travail au chemin système. Configurez un projet, puis essayez

import sys
print sys.path

Vous verrez le répertoire de votre projet ajouté au PYTHONPATH. Cela signifie que je peux diviser mon projet et importer des fonctions à partir de différents fichiers de mon projet. Ceci est très bénéfique lorsque l'analyse devient complexe ou que vous souhaitez créer un type de modèle plus grand qui sera utilisé régulièrement. Je peux créer toutes mes fonctions dans un fichier, peut-être des fonctions pour des tracés dans un autre, puis les importer dans un fichier de script séparé.

dans myScript.py

from myFunctions import func1
from myFunctions import func2
from myPlots import histPlot

Il s'agit d'une approche beaucoup plus propre de l'analyse des données et vous permet de vous concentrer sur une tâche spécifique à la fois.

Dans python 3 il y a la capacité % autoreload pour que vous puissiez travailler sur vos fonctions puis revenir à votre fichier script et il les rechargera à chaque fois si vous trouvez Je n'ai pas encore essayé car la majorité de mon travail est en 2.7, mais cela semble ajouter encore plus de flexibilité lors du développement.

Alors, quand devriez-vous faire cela? Je pense que c'est toujours une bonne idée, je viens de commencer à utiliser cette configuration et je n'y retournerai jamais!

6
Jeff Tilton

D'après mon expérience, la mise en place d'un espace de travail dans Spyder n'est pas toujours nécessaire. Un espace de travail est un espace sur votre ordinateur où vous créez et enregistrez tous les fichiers dans lesquels vous travaillez. Les espaces de travail aident généralement à gérer les fichiers de votre projet. Une fois que vous avez créé un espace de travail dans Spyder, un volet appelé "Explorateur de projets" s'ouvre dans Spyder. Vous y voyez en temps réel les fichiers de votre projet. Par exemple, si vous générez un fichier avec Python, il apparaîtra dans ce volet. Le volet vous permet de conserver les fichiers organisés, de les filtrer, etc. Cela peut être utile pour le développement Web, par exemple, car il vous aide à garder votre contenu organisé. J'utilise Python pour gérer des fichiers (par exemple csv) et travailler avec des données (analyse de données), et je ne trouve aucune utilité dans la fonctionnalité de l'espace de travail. De plus, si vous supprimez un fichier dans le volet Explorateur de projets , le fichier est introuvable dans la corbeille de Windows.

7
multigoodverse

Mise à jour d'octobre 2016: Spyder 3 dispose désormais d'installations de projet similaires à celles d'autres IDE (en particulier Rstudio).

Maintenant, si vous avez un dossier avec des scripts, vous pouvez aller sur

Projects > New Projects > Existing Directory

pour l'importer. Le répertoire sélectionné sera défini comme répertoire de base du projet.

7
Heisenberg

Une information essentielle qui semble manquer dans la documentation Spyder est de savoir comment créer un nouvel espace de travail en premier lieu. Quand aucun espace de travail n'existe après l'installation de Spyder, la création de votre premier projet lance automatiquement la création d'un espace de travail (au moins dans la distribution Anaconda 3). Cependant, il n'est pas aussi évident de créer un nouvel espace de travail lorsqu'un espace de travail existe déjà.

C'est la seule méthode que j'ai trouvée pour créer un nouvel espace de travail:

(1) Sélectionnez la fenêtre Project Explorer dans Spyder. Si cette fenêtre ou cet onglet n'apparaît nulle part dans l'application Spyder, utilisez Affichage> Volets> Explorateur de projets pour activer la fenêtre.

(2) Cliquez sur l'icône du dossier dans le coin supérieur droit de la fenêtre Project Explorer. Cette icône fait apparaître une boîte de dialogue qui peut créer un nouvel espace de travail. La boîte de dialogue permet de sélectionner un répertoire pour le .spyderworkspace fichier.

5
Fred Schleifer