Config Python en console

Python est le langage de prédilection du Raspberry Pi

Modérateurs : Francois, Manfraid

Répondre
Avatar du membre
F6EEQ
Messages : 23
Enregistré le : dim. 7 févr. 2016 10:38
Localisation : 26300 Chatuzange le Goubet

Config Python en console

Message par F6EEQ » dim. 22 janv. 2017 08:39

Bonjour,

Je me lance dans la console avec SSH (pour éviter d'avoir à installer un écran, un clavier...) et VIM.
Cela fonctionne très bien, et j'ai fait un premier test avec l'exemple "blink" de RPi (raspberry.io/blink......).

J'ai écrit le programme sans chercher à comprendre pour voir si c'était OK, mais maintenant je voudrais comprendre.

Pour configurer Python, il faut faire les actions suivantes:
sudo apt-get install python-dev
curl -O https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py
sudo pip install virtualenv
Puis, dans le répertoire où il y a le programme:
virtualenv env
. env/bin/activate
pip install rpi.gpio
Donc mes questions:
  • qu'apporte python-dev?
    qu'est-ce que ce "virtualenv"?
Ensuite, faut-il activer ce virtualenv à chaque fois?? (comme dans le 2° §)

Merci de votre aide.

Gérard
73 de F6EEQ
RPi3, ARDUINO (Mega, Uno, Nano...)

spourre
Raspinaute
Messages : 735
Enregistré le : lun. 22 déc. 2014 16:50
Localisation : 67380 LINGOLSHEIM

Re: Config Python en console

Message par spourre » dim. 22 janv. 2017 10:31

Bonjour F6EEQ

Je ne vous poursuis pas de forum en forum mais il se trouve qu'étant débianneux et Raspinaute, j'interviens sur les deux :x
Je suis plus souvent sur celui-ci, tenu par notre ami François, un autre radioamateur. AMHA, ce forum est bien plus intéressant et bien plus convivial que le premier, non cité pour ne pas risquer de générer une polémique. Ici, on trouve de l'informatique, de électronique et même des programmes orientés vers notre activité, principalement à base de SDR et de clef TNT.

Je vais essayer d'apporter 2 réponses claires à vos questions mais je dois préciser que ma religion m'interdit d’utiliser Python pour des raisons qui sortent du cadre de votre topic.

Je ne sais pas d'où viennent les citations qui émaillent votre message mais je ne les retrouve pas dans l'excellente série d'articles consacrés aux LED (DEL) et Boutons Poussoirs. Articles suivis d'une critique du code et de propositions d'optimisation toutes aussi intéressantes. Je vous remets le lien au cas où vous auriez cherché l'inspiration ailleurs:
http://www.framboise314.fr/la-saga-blin ... d/#RpiGPIO

Il faut lire, relire et, maintenant que votre premier programme fonctionne, essayer de comprendre. Le caractère progressif et pédagogique de cette série d'articles devrait vous y aider.
Dans un premier temps, sans que cela invalide les observations et articles publiés par Bud Spencer, vous pouvez les ignorer
Donc mes questions:

qu'apporte python-dev?
qu'est-ce que ce "virtualenv"?

Ensuite, faut-il activer ce virtualenv à chaque fois?? (comme dans le 2° §)
Pour répondre à la première question, il faut s'imprégner de la culture Linux, elle-même issue de la culture UNIX dans sa phase universitaire.
Tout est disponible et accessible. L'utilisateur d'un programme a le droit de le modifier ou d'en étendre les fonctionnalités.
Pour cela, outre posséder les compétences, il doit pouvoir accéder aux sources et fichiers d'en-tête. Un utilisateur "lambda" n'aura besoin que du programme.
Les bibliothèques sont aussi des programmes et répondent donc aux mêmes critères. Elles sont disponibles sous 2 formes complémentaires:
- version de base, pour utilisateur final.
- version développement.
Le nom de la version développement d'un programme (donc aussi d'une bibliothèque) s'obtient en ajoutant le suffixe -dev comme dev eloppement) au nom du programme principal.
Le Raspberry Pi tient son nom de Pi..thon. Sauf erreur de ma part, le minimum nécessaire est installé d’office avec la Raspbian mais, le module gpio requiert d'avoir python-dev installé (cf. Adafruit: https://learn.adafruit.com/playing-soun ... i-dot-gpio )
Attendez néanmoins la confirmation d'un autre contributeur.

La 2 ème question est plus difficile à expliquer. mais, par chance, j'ai trouvé un lien (si Google n'est pas votre ami, il n'est pas non plus votre ennemi) vers un site (en français SVP) qui le fait très bien et explique les enjeux:
http://sametmax.com/les-environnement-v ... nvwrapper/
La encore, je n'en vois pas l’intérêt pour un débutant (toujours pas péjoratif) qui ne va certainement pas s'amuser à installer et à jouer avec des versions différentes, parfois incompatibles. Je ne partage pas cette vision :
Creez autant de virtualenv que vous voulez: un par projet, un pour les tests de nouvelles libs, un pour le plaisir, un pour la route… Ca prend juste de la place, et ce n’est pas ce qui manque sur nos disques durs de nos jours.
Sur nos Raspberry, nos cartes SD ne sont pas énormes et sont limitées en cycles d'écritures.

Cordialement

Sylvain - F1MYZ

Avatar du membre
F6EEQ
Messages : 23
Enregistré le : dim. 7 févr. 2016 10:38
Localisation : 26300 Chatuzange le Goubet

Re: Config Python en console

Message par F6EEQ » dim. 22 janv. 2017 11:22

Bonjour Sylvain,

Merci des liens et des commentaires.

Je n'aime pas beaucoup Python non plus, car je le trouve pas assez structuré et trop permissif.
De plus ce système d'indentation est moins "efficace" et plus sujet à erreur qu'un séparatif comme en C ou en Pascal.
Mais il faut reconnaître que c'est assez puissant, et le but n'est pas ici de dégoiser sur Python!

De plus dans nos séances de programmation au RC F6KUU (St Marcel les Valence) on utilise Py, donc il faut bien suivre!

OK pour les environnements. J'ai regardé le lien, et ça me parait effectivement assez superflu. Le programme était fait comme ça, donc j'ai laissé, mais je vais me dépêcher de le refaire "normal"!!

Pour l'instant je n'en suis pas très loin dans la découverte de Py, mais il y a dans la revue "Hackable" pas mal d'exemples intéressants, et même une application OM dans le dernier avec un article sur le HACK RF.

Merci encore et bonne journée.

Gérard
73 de F6EEQ
RPi3, ARDUINO (Mega, Uno, Nano...)

spourre
Raspinaute
Messages : 735
Enregistré le : lun. 22 déc. 2014 16:50
Localisation : 67380 LINGOLSHEIM

Re: Config Python en console

Message par spourre » dim. 22 janv. 2017 12:56

Bonjour Gérard,

C'est bien pour cela que je me suis juste borné à mentionner que je n'utilise pas Python.
Chacun fait comme il le sent et comme il le peut. "Jedem Tierchen sein Pläsierchen!" comme disent nos voisins DL. (je suis ex DA2MYZ).

Hackable est certainement "La Référence" en matière de revue FR.

73's Sylvain

Avatar du membre
Manfraid
Modérateur
Messages : 1402
Enregistré le : ven. 3 oct. 2014 14:50
Contact :

Re: Config Python en console

Message par Manfraid » dim. 22 janv. 2017 22:27

Salut,

je vais essayer de faire cours pour t'aiguillé sur tes questions, donc python-dev ne sert quasiment que pour installer des librairies (package) python qui sont compilé directement en C (soit pour rapidité ou tout autre raison :) ) ensuite un viretualenv n'est pas nécessaire pour tout le monde cela sert surtout pour pouvoir avoir un même environnement de développement sur plusieurs machine, et surtout ne pas polluer l'environnement de base avec des libraires qui ne sont pas nécessaires en temps normal (ce qui est pratique par exemple pour faire des dev de test avant de les mettre en place)

personnellement les viertualenv ne me serve qu'a ça mais je sais que dans les gros développement cela peu servir a avoir sur la machine de développement du même environnement que la machine de production à la libraire exacte et la version exacte(

j'espère que cela pourra mieux t'aider a la compréhension
NAS : DIY OS Debian: DD250Go + 3x2To + 6To
Raspberry pi : 2B OS : Raspbian
Se tromper est humain, Vraiment foutre la merde nécessite le mot de passe de root.

spourre
Raspinaute
Messages : 735
Enregistré le : lun. 22 déc. 2014 16:50
Localisation : 67380 LINGOLSHEIM

Re: Config Python en console

Message par spourre » dim. 22 janv. 2017 23:48

Bonsoir Manfred,

Merci de tes précisions qui complètent bien ma réponse à Gérard.

Pour les -dev, je partage entièrement ton avis mais j'ai été surpris de voir, que sur son site, Adafruit en recommande l'installation pour son module.
Je l'ai donc mentionné, par honnêteté intellectuelle, bien que cela contredise un peu mon propos.

Pour le virtualenv, surtout sur une machine aussi restreinte que le Raspberry, je n'en vois pas du tout l'intérêt. Sur un gros PC de développement, avec des versions incompatibles de python ou pour de multiple projets, pourquoi pas ? mais je vois mal l'intérêt de cumuleer des versions sur un Raspberry qui ne devrait pas être considéré comme PC (terme totalement inexact comme l'a bien signalé un contributeur) de développement.

Cordialement

Sylvain

Répondre

Retourner vers « Python »