2017-03-01 3 views
0

NOTE: Avant de marquer ce double comme s'il vous plaît lire le tout premier posteComment puis-je convertir mon code de python3.6 en exe en utilisant cxfreeze?

Je suis en train pendant des heures pour convertir mon python 3.6 code exe, je l'ai cherché partout et tout essayé, l'endroit le plus utile était là: Best method of converting .py to .exe for Python 3.6?

apparemment donc il n'y a que trois façons de convertir py exe:

  1. PyInstaller
  2. py2exe
  3. Cxfreeze

Pyinstaller ne prend pas en charge Python 3.6, et py2exe est très obsolète. En ce qui concerne cxfreeze, il semble qu'il supporte Python 3.6, donc c'est la route que j'ai prise.

J'ai partout cherché sur la façon d'utiliser cxfreeze, malheureusement, tous les guides que j'ai trouvé semblent être dépassées:

http://cx-freeze.readthedocs.io/en/latest/overview.html ce guide par exemple, a trois voies, dont deux ne fonctionne pas (le d'abord me donne un fichier .spec que je ne sais pas quoi faire avec le second et me donne une erreur parce que je n'ai pas le module cxfreeze.util) et le 3ème est trop compliqué à mon goût

How do I use cx_freeze? cela utilise le deuxième route, encore ça ne fonctionne pas

+0

Le support de Pyinstaller 3.6 s'améliore rapidement. Vous pourriez essayer d'utiliser le [conseil de développement] (https://github.com/pyinstaller/pyinstaller/wiki/How-to-Report-Bugs#before-submitting-a-report). –

Répondre

0

Je ne suis pas autorisé à commenter certains raison, donc ce n'est pas vraiment une réponse, mais pour ma part, j'ai installé cx_Freeze de https://pypi.python.org/pypi/cx_Freeze

Lorsque vous l'installez, il ya une étape supplémentaire qui n'est pas documentée. Utilisation du shell CMD Windows, accédez à votre répertoire d'installation de python, dans les scripts sous-répertoire et vous trouverez quelques fichiers appelés cxfreeze ...

Vous devez créer le fichier de commandes en tapant python cxfreeze-postinstall

Un fichier appelé cxfreeze.bat sera créé. Vous pourrez le déplacer dans votre dossier python principal ou à l'emplacement de votre programme python.

Ensuite, tapez cxfreeze mypythonprogram.py --target-dir dist

Ce devrait créer un exe de travail dans le répertoire dist. Cependant, cela ne fonctionne pas pour moi car j'obtiens une erreur dans le fichier finder.py qui fait partie de l'installation de cxfreeze donc je ne sais pas si j'ai fait quelque chose de mal ou si cette version est complètement boguée. Edit: en commentant la ligne 561 dans le fichier finder.py (C: \ Python \ Python36-32 \ Lib \ sites-packages \ cx_Freeze \ finder.py sur mon système) J'ai pu l'exécuter et générer l'EXE qui semble fonctionner correctement.

+1

malheureusement, je suis incapable de lancer l'EXE sur un autre PC, même en copiant l'ensemble du dossier dist.Quand je l'exécute à partir de CMD sur le deuxième PC, il cherche un chargement de fichiers python. Fondamentalement, vous devez installer Python exactement dans la même structure que sur le PC de développement ou cela ne fonctionnera pas. C'est très décevant ... Je ne sais pas comment quelqu'un est supposé développer des programmes python pour la distribution publique sur Windows. – pickarooney

+0

J'ai essayé d'utiliser pyinstaller comme une alternative, mais cela ne supporte pas python 3.6 et se bloque. – pickarooney

+0

La version 3.3 de dev fonctionne sans erreurs mais ne crée pas un EXE, plutôt un fichier .pyc qui bien sûr ne peut pas être exécuté sur un PC sans Python installé – pickarooney