Forum général.général MS Windows + MinGW/MSYS ou Cygwin + accès à mes outils GNU dans mon term + Python + PySide + py2exe

Posté par  (site web personnel) .
0
29
mar.
2012

Bonjour,

cela fait des années que je suis frustré quand je vais sous MS Windows pour faire des petits scripts…
Je n'arrive pas à retrouver un environnement confortable.

J'écris ce journal, car j'aimerais trouver les informations suivantes… un how-to, tutoriel, un guide de bonnes
pratiques avec les points suivants :

  1. avoir un terminal aussi pratique, complet que sous GNU/Linux
  2. pouvoir accéder sans problème de chemins… aux outils GNU dans mon terminal
  3. pouvoir accéder sans problème à Mercurial, Python, gvim depuis mon terminal
  4. pouvoir installer, compiler les dépendances de packages Python quand je fais par exemple un pip install lxml
  5. pouvoir utiliser PySide dans mes projets Python
  6. pouvoir "compiler" des projets Python avec py2exe

Voici ci-dessous les pistes que j'ai exploré, les problèmes que j'ai rencontré :

  • (1) j'ai trouvé le terminal mintty (http://code.google.com/p/mintty/).
    J'ai eu quelques problèmes pour l'exécuter, mintty n'arrivait pas à trouver "msys-1.0.dll".
    Pourquoi lors de l'installation de MSYS (http://www.mingw.org/wiki/MSYS), les dossiers de MSYS ne sont pas automatiquement ajoutés à la
    variable environnement PATH ?
    D'après votre expérience, il est mieux d'utiliser le couple MinGW/MSYS ou Cygwin ?
    J'ai l'impression qu'il est préférable d'utiliser MinGW/MSYS car j'ai l'impression que Cygwin vie dans son propre
    environnement… tout ceci n'est pas très clair dans ma tête.

  • (2) Avec MSYS, là encore j'ai des problèmes de PATH… quand je fais un export, le contenu de PATH
    ne contient pas les valeurs de la variable d'environnement PATH de MS Windows.
    Je ne sais pas trop où configurer mon PATH dans MSYS… je n'ai pas trouvé de .bashrc…
    Là encore, je ne comprends pas pourquoi que lors de l'installation de MSYS, PATH ne soit pas correctement configuré.
    C'est très frustrant.

  • (3) Quand j'installe Mercurial, Python, GVim, là encore je dois configurer de nouvelles entrés dans mon PATH… il n'y a pas quelque chose de plus simple ? C'est très pénible cette histoire.

  • (4) Pour la gestion des chemins vers les entêtes, compilateurs… là je n'ai pas encore testé mais j'ai déjà peur.

  • (5) et (6) Au niveau de PySide + py2exe, avez vous des références, d'expériences complètes… à destination d'utilisateurs de GNU/Linux qui aimeraient retrouver leurs marquent sous MS Windows ?

J'aimerais avoir des retours d'expériences… trouver des bonnes pratiques… des solutions "clé" en main.

Merci d'avance pour votre aide.

Cordialement,
Stéphane

  • # Deux idées

    Posté par  . Évalué à 2.

    1. une machine virtuelle
    2. une distribution sur clé usb
    • [^] # Re: Deux idées

      Posté par  (site web personnel) . Évalué à 2.

      Mon but n'est pas d'avoir une machine virtuelle… je travaille sous Debian / Ubuntu.

      Mon but ici est de le faire réellement sous MS Windows, pour compiler des choses… des projets Python + PySide que je dois distribuer en .exe

  • # Retour sur cygwin

    Posté par  (site web personnel) . Évalué à 2.

    J'utilise cygwin, je n'ai jamais utilisé MinGW/MSYS.

    1) mintty est très bien, il y a juste quelques problèmes quand je me connecte en ssh + tmux, mais il y a tellement de couches que je ne sais pas trop où est le problème.

    2) c'est pas un problème, avec cygwin il est possible d'utiliser des chemins windows ou unix sans problème :

    exemple issu de mon bashrc :

    alias vim="/cygdrive/c/Program\ Files/Vim/vim73/gvim.exe"
    alias mvn="~/win_home/Downloads/apache-maven-3.0.3/bin/mvn"
    export JAVA_HOME=C:/Program\ Files/Java/jdk1.6.0_29
    
    

    3) Pour python, je ne sais pas, il est installé à la fois dans cygwin et dans windows…

    4) 5) 6) Cueillir des cerises. (Aucune idée)

  • # cygwin !

    Posté par  . Évalué à 2.

    je n'utilise pas souvent windows et je ne programme pas beaucoup, mais je trouve cygwin très pratique pour avoir un shell potable, sans avoir justement à jouer avec le $PATH windows qui semble tant te (nous) perturber, et cygwin propose une multitude d'outils libres configurés pour travailler avec lui (python, mercurial, vim etc), tu peux compiler sans soucis comme si tu était sous une distribution linux classique.

    Il est également possible de faire appel depuis cygwin à des programmes windows extérieurs, je fais même des scripts shell utilisable depuis linux ou windows (cygwin) en faisant par exemple des tests conditionnels selon l'OS :

    if [ uname -o = "Cygwin" ] ; then sumatrapdf $DOCUMENTNAME.pdf ; else okular $DOCUMENTNAME.pdf

    (avec uname -o entre `)

    À noter si tu compiles des programmes windows depuis cygwin, il me semble qu'il faut rajouter une dll propre à cygwin pour l'exécuter depuis n'importe où sans installer cygwin sur ces autres machines.

    Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it

  • # Mon expérience de MinGW+MSYS

    Posté par  (site web personnel) . Évalué à 3.

    1. Besoin de rien de plus, mingw te fournit rxvt, il suffit d'appeler leur script pricipal avec l'option --rxvt.
    2. Pas vu de soucis de PATH. Il contient normalement au lancement de MinGW ce que contenait ton PATH Windows. Pour ce qui est chargement à l'initialisation, j'utilisais le .profile qui est exécuté automatiquement à l'ouverture de session.

    3. Pas d'autre solution si tu les installes "façon windows". Sinon il faut tout installer ensemble à la UNIX dans /usr/bin, mais sans gestionnaire de paquet, ça devient intenable, et souvent les programmes n'ont pas été conçu pour que cela fonctionne.

    4. En utilisant MSYS, tu a une couche de traduction des chemins pour pouvoir utiliser des chemins UNIX. Il y a juste quelques astuces à connaitre. Par exemple, MSYS comprend "C:\\Windows", mais aussi "/c/Windows". Pour les options, les slash doivent êtres doublés → dir /s devient → dir //s dans MSYS, afin de permettre à MSYS de distinguer les slash des chemins de ceux des options.

    5. Aucune idée, j'ai juste installé python 3.2 en .msi, ajouté le chemin dans le PATH, et c'est tout pour mon utilisation de python dans cet environement.

    Une chose importante, utilise pour installer MinGW+MSYS leur installateur en version alpha, pas les vieux tout-en un. Cela te permet d'utiliser mingw-get, un outil type apt-get. Tu installes ensuite les paquetages que tu souhaites, en mettant msys, rxvt… Il te permet de lire la liste des paquets disponibles. Je te conseille de bien lire la doc de mingw.org.

  • # Oh que je connais !

    Posté par  (site web personnel) . Évalué à 3.

    Je reconnais bien mon parcours. Après quelques années où je ne suis plus que sous Windows, j'ai opté pour les choix suivants (qui ne sont pas universels mais que marchent pour moi):

    1. Mon terminal, c'est Console. Un programme plus maintenu mais qui marche hyper bien.

    2. Mon shell, c'est cygwin bash.

    3. Je privilégie tout ce qui existe en natif vis à vis des versions cygwin. Ca veut dire que j'ai un gcc msys, un mercurial, un python, un vim qui sont des installations natives sous Windows. J'ai volontairement désinstallé le gcc et le python de cygwin pour être sur de ne jamais l'utiliser par erreur.

    4. J'ai un répertoire d:/program où je colle tous mes programmes Windows pseudo-unix et un répertoire d:/program/utils qui est dans mon PATH.

    5. Dans mon d:/program/utils, j'ai des lanceurs en .bat et .sh pour les programmes que j'utilise le plus souvent. Quelques programmes comme mercurial ont droit de cité dans mon PATH. Et quelques alias pour appeler automatiquement mes .sh

    6. Certains trucs sont tout simplement incompatible avec Cygwin. Typiquement, si je dois compiler un projet Qt sous CMake, je lance un cmd avant de faire quoi que ce soit. Sinon, CMake se goure.

    7. J'ai un gvim.sh qui prend des chemins de fichiers au format cygwin et les convertit en format windows pour gvim. Ca me permet de faire des grep -r . "toto" -l | xargs gvim.sh

    Donc globalement une grosse usine à gaz, sauf que avec le temps, ça marche très bien.

    Quant à PySide, j'ai jamais essayé. Je préfère rester fidèle à Phil Thompson qui fait un travail irréprochable sur PyQt depuis aussi longtemps que Qt 1.4 existe si je me souviens bien.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.