2010-11-27 25 views
2

J'ai un script python avec une boucle telle quePython infini While Crashing Mac

while True: 
    #do something here 

Chaque fois que je le lance, il va planter le mac. Mac fonctionne sous Mac OS X 10.6.5 et python 2.6.1

+0

@giodamelio: J'ai exactement les mêmes spécifications, sauf que j'utilise la distribution python de macport et ça ne plante pas pour moi. Il est possible que ce que vous faites dans la boucle l'écrase. Pouvez-vous publier le rapport de crash/code que vous exécutez à l'intérieur tout en boucle. – pyfunc

+0

Cela entraîne-t-il une panique du noyau ou une interface graphique bloquée? – SingleNegationElimination

+0

@pyfunc Je l'ai testé avec une simple commande d'impression, donc je ne pense pas que ça puisse être ça. – giodamelio

Répondre

1

Si vous pouvez écrire une boucle infinie et qu'elle provoque une panne, alors vous avez un problème avec votre système d'exploitation ou votre Python (puisque cela ne fonctionne pas) normalement provoquer un accident). Essayez la distribution Python MacPorts et j'espère que vous n'aurez pas les mêmes problèmes.

+0

L'utilisation de macports a bien fonctionné. Merci: D – giodamelio

0

Puisque vous dites Python 2.6.1 avec OS X 10.6, je suppose que vous utilisez le Python 2.6 fourni par Apple. Si votre machine est compatible 64 bits, Python fonctionnera par défaut en mode 64 bits, ce qui pourrait avoir un impact sur les problèmes liés à la pile. Vous pouvez essayer de fonctionner en mode 32 bits et voir si la même chose se produit; vous pouvez le faire en invoquant Python cette façon:

$ arch -i386 /usr/bin/python2.6 

Vous pouvez également essayer d'installer la plus récente Python 2.6 (2.6.6) à l'aide du programme d'installation de python.org pour OS X here. Note: que Python est 32 bits seulement. (Par ailleurs, Python 2.7 est maintenant en cours.Si vous pouvez reproduire le problème avec lui, vous devez ouvrir un problème sur le Python bug tracker.)

1

Peut-être que votre ordinateur est en surchauffe lorsque vous le laissez fonctionner sur 100% CPU pour trop longue. La solution serait alors de s'assurer que le ventilateur de votre CPU fonctionne ou d'en installer un meilleur.