Page 1 sur 2 12 DernièreDernière
Résultats de 1 à 10 sur 11

Sujet : Python et Mac

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    105

    Python et Mac

    Bonjour @ tous, je suis en train de faire un projet avec python et je voudrais savoir si, au niveau de Mac, un prog codé ET compilé sous PC pourrait fonctionner...

    Merci d\'avance pour l\'info et vive python ! !
    The Plague
    \"Mess with the best...
    ...Die like the rest\"

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    2 225
    Salut. J\'ai jamais essayé n\'ayant pas de mac :
    mais ca devrait normalement fonctionner nickel. :8):

  3. #3
    Membre MP
    Inscrit
    août 2013
    Messages
    38
    un prog codé ET compilé sous PC
    Ton programme est-il tout en python ? Si oui, alors il te suffit de récupérer les fichiers .py et de lancer ton programme.
    Sinon, s\'il est mixé avec du C par exemple, tu devras tout recompiler sous Mac.

  4. #4
    Membre MP
    Inscrit
    août 2013
    Messages
    2 225
    Désolé, j\'ai été distrait...
    Python est TOTALEMENT portable et tu ne dois donc pas rencontrer le moindre problème, excepté dans quelques appels systèmes type os.system(\'truc\') mais tu peux alors faire une détection de l\'os par un simple script... :8):

  5. #5
    Membre MP
    Inscrit
    août 2013
    Messages
    38
    Un exemple:

    si ton programme récupère un fichier avec son chemin absolu (c:/toto/toto.txt) et que, pour une raison x ou y c\'est juste le nom du fichier qui t\'intéresse, tu vas peut être récupérer une string et la découper avec la commande \"split\":


    Code:
    #le nom du fichier avec son chemin complet est stocké dans fullFileName
    
    fullFileName=\"c:/toto/toto.txt\"
    aList=fullFileName.split(\'/\')
    
    #aList => [\"c:\",\"toto\",\"toto.txt\"]
    Le problème ici est que ton programme ne marchera pas sous linux par exemple, car le séparateur n\'est pas \"\\\" mais \"/\". Pour pallier à calà, Python propose tout simplement la commande \"os.sep\", qui dépend de ton système.
    Le code précédent devient alors:

    Code:
    import os
    #le nom du fichier avec son chemin complet est stocké dans fullFileName
    
    #Sous Windows:
    fullFileName=\"c:/toto/toto.txt\"
    aList=fullFileName.split(os.sep)
    
    #aList => [\"c:\",\"toto\",\"toto.txt\"]
    
    #Sous Linux:
    fullFileName=\"\\home\\toto\\toto.txt\"
    aList=fullFileName.split(os.sep)
    
    #aList => [\"home\",\"toto\",\"toto.txt\"]
    Et voili voilou, tu as ton fichier dans \"aList.pop()\" et ton programme marchera sous Windows, Linux, Mac, ... :8):

  6. #6
    Membre MP
    Inscrit
    août 2013
    Messages
    79
    Je pense qu\'en parlant de fichiers compilés il parlait de .pyc
    Me trompé-je ?

    Si c\'est ça en tous cas, je n\'ai aucune idée de la portabilité des .pyc, mais a priori ils ne dépendent absolument pas ni de l\'OS ni de la machine, puisqu\'ils passent encore sous l\'interpréteur (à la rigueur il peut y avoir des incompatibilités de versions ?).

    Et pour l\'exemple ci-dessus, il me parait plus judicieux d\'utiliser os.basename et os.dirname pour séparer les morceaux
    Si les faits ne correspondent pas à la théorie, changez les faits. - Albert Einstein

  7. #7
    Membre MP
    Inscrit
    août 2013
    Messages
    38
    Sur ma version de Python (2.1.1) je n\'ai pas os.basename, ni os.dirname.
    Je ne passe pas à une version supérieure de Python pour l\'instant à cause de mon boulot qui m\'impose cette version :
    Donc j\'utilise os.sep qui lui est bien dans ma version :wink:

  8. #8
    Membre MP
    Inscrit
    août 2013
    Messages
    2 225
    La portabilité d\'un .py et d\'un .pyc est la meme. Les restrictions liées a la portabilité sont minimes et concernent principalememt l\'acces aux fichiers :8): Il ne faut donc presque pas se soucier de la portbilité en Python :

    PS: frodon1 : je ne vois pas ce qui peut te restreindre a la version 2.1.1...

  9. #9
    Membre MP
    Inscrit
    août 2013
    Messages
    105
    Bonjour @ tous, désolé, ce W-E j\'étais au mariage de ma soeur :wink: .
    En ce qui concerne la portabilité des .pyc, il est total (j\'ai fait les tests). Ensuite je tiens à m\'excuser, je me suis mal exprimé. Mon projet est de faire un exécutable (py2exe ss win) pour que l\'appli soit indépendante de la version de Python et des modules présents.
    Si vous avez des infos, dite le moi.

    MERCI pour ttes ces réponses.

    CHRIS :
    The Plague
    \"Mess with the best...
    ...Die like the rest\"

  10. #10
    Membre MP
    Inscrit
    août 2013
    Messages
    38
    yougo :
    En fait c\'est la 2.2.1. mais peu importe, je suis limité à cette version à cause de mon boulot.
    Je fait un soft avec d\'autres boîtes et labos et ce n\'est pas moi qui décide des versions des logiciels qui sont utilisés. Il a donc été décidé par l\'équipe de gestion du projet de coder avec Python 2.2.1 puisqu\'à l\'époque, il en étaient à cette version. Donc pour des raisons de compatibilité du code (sa mise en oeuvre et son exécution) je suis limité à python 2.2.1
    Maintenant de manière perso, rien de m\'empêche de m\'amuser avec python 2.3, mais en fait j\'ai pas trop le temps... pourtant c\'est pas l\'envie qui m\'en manque :cry:

Page 1 sur 2 12 DernièreDernière

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé