Convertir PY en PYC
Créer du bytecode CPython à partir du code source PY avec l’interpréteur local et la version appropriés.
Convertir des fichiers PY en ligne
Nous n’avons pas encore de convertisseur en ligne dédié pour PY vers PYC, mais vous pouvez convertir des fichiers PY en ligne vers ces formats :
Vous voulez convertir PY en PYC ?
Dites-le-nous. Nous choisissons les prochaines conversions à ajouter selon l'intérêt.
Comment convertir py en fichier pyc
- Programmation
- Aucune note pour l'instant.
Un environnement de déploiement peut nécessiter du bytecode CPython au lieu d’un fichier source, ou un développeur peut vouloir générer le cache d’importation d’un projet. La création d’un fichier .pyc est une étape de compilation locale effectuée par l’interpréteur Python qui l’exécutera, et non une conversion générale de document.
Ce qu’est le format PY
.py est un fichier source Python en texte brut contenant des instructions, des fonctions, des classes, des importations, des commentaires et d’autres éléments de code de programme. Les développeurs créent et modifient les fichiers PY dans Visual Studio Code, PyCharm, IDLE ou n’importe quel éditeur de texte. CPython analyse le code source et le compile en bytecode en mémoire avant son exécution ; les modules importés peuvent également faire écrire ce bytecode dans un fichier cache PYC.
Ce qu’est le format PYC
.pyc est un fichier binaire de bytecode produit par CPython. Son en-tête contient l’identifiant du bytecode de l’interpréteur et des informations de validité du cache ; le reste contient du bytecode Python sérialisé. CPython stocke normalement les fichiers générés dans __pycache__, avec des noms tels que module.cpython-312.pyc.
Un cache peut éviter de recompiler un module importé inchangé, mais il ne constitue pas un remplacement exécutable de l’ensemble de l’application et ne masque pas le code source de manière sécurisée. Le bytecode peut être inspecté ou décompilé, et un fichier PYC reste lié à une implémentation et à une version particulières de Python.
Comment créer un fichier PYC
Installez la version officielle de CPython requise par le système cible, puis ouvrez un terminal dans le répertoire contenant le fichier source. La commande python de l’interpréteur peut être nommée python3 sur certains systèmes.
- Compiler un fichier source dans l’emplacement de cache normal :
python -m py_compile script.py - Compiler tous les fichiers Python d’un répertoire, y compris les sous-répertoires :
python -m compileall project_folder - Placer le fichier PYC généré à côté du fichier source au lieu de le placer dans
__pycache__:python -m compileall -b script.py - Spécifier un nom de fichier de sortie exact avec la bibliothèque standard :
python -c "import py_compile; py_compile.compile('script.py', cfile='output/script.pyc')"
Le répertoire parent du chemin cfile doit déjà exister. Utilisez les mêmes commandes avec python3 s’il s’agit du nom de l’interpréteur installé. L’exécution directe d’un script le compile normalement en mémoire ; c’est l’importation d’un module qui crée généralement son fichier cache. Les IDE compatibles avec Python utilisent leur interpréteur configuré et peuvent générer des fichiers PYC lors de l’exécution ou de l’importation des modules du projet.
Utilisez local CPython plutôt qu’un convertisseur en ligne. Un service web recevrait le code source et pourrait le compiler avec la mauvaise version de Python ; il n’existe pas de service de conversion en ligne polyvalent préférable pour les opérations PY vers PYC courantes. Un IDE ou un terminal de bureau fournit la même compilation via l’interpréteur local sélectionné.
Compatibilité et limitations
Un fichier PYC créé par CPython 3.12 ne peut généralement pas être utilisé par CPython 3.11, Python 2 ou une autre implémentation de Python. Compilez-le avec la même version majeure et mineure, et de préférence avec la même implémentation, que celles utilisées dans l’environnement de déploiement. CPython peut ignorer et régénérer un cache lorsque ses données de date et de taille, ou ses données de validité fondées sur le hachage, ne correspondent plus au code source.
La compilation détecte les erreurs de syntaxe, mais ne teste pas le comportement du programme. Les dépendances d’exécution, les chemins d’importation, les fonctionnalités du système d’exploitation, la configuration et les erreurs d’exécution restent non résolus. Les packages importés doivent toujours être installés, sauf si l’application est empaquetée séparément. Pour la distribution, utilisez si nécessaire un wheel, un environnement virtuel, un bundle exécutable ou un conteneur ; les fichiers PYC isolés sont principalement des caches d’interpréteur ou des artefacts de déploiement spécifiques à une implémentation.
Comparaison du format PY vs PYC
Comparaison entre les formats PY et PYC sur les propriétés les plus importantes pour cette conversion.
| Propriété | .PY Python source file | .PYC Python compiled bytecode |
|---|---|---|
| Lisible en texte brut | Oui | Non |
| Mise en forme du texte | Basique | Aucun |
| Images | Non | Non |
| Modification ultérieure | Facile | Non modifiable directement |
| S’ouvre dans un navigateur web | Non | Non |
| Taille de fichier typique | Petit | Très petit |
| Norme ouverte | Oui | Oui |
| Idéal pour | Montage et post-production | Intégration dans des applications |
| Date d’introduction | 1991 | 1991 |
| Développeur | Python Software Foundation | Python Software Foundation |
| Type MIME | text/x-python | — |
Les informations sur les extensions et les types de fichiers sont fournies par File-Extensions.org
Logiciel suggéré pour convertir py en pyc
Questions fréquentes
La conversion d’un fichier .py en .pyc supprime-t-elle mon code source Python ?
Oui, le fichier .pyc contient du bytecode compilé plutôt que le code source original lisible. Il est destiné à l’exécution et ne constitue pas un remplacement entièrement modifiable du fichier .py, même si une partie du bytecode peut faire l’objet d’une rétro-ingénierie.
Toutes les versions de Python peuvent-elles exécuter un fichier .pyc créé à partir d’un fichier .py ?
Non, un fichier .pyc nécessite généralement la même version ou une version compatible de CPython, ainsi que l’implémentation qui l’a créé. Une incompatibilité de version provoque souvent une erreur « bad magic number » ou une autre erreur d’importation.
Pourquoi mon fichier .pyc échoue-t-il quand j’essaie de l’exécuter seul ?
Un fichier .pyc est normalement compilé comme un module et peut dépendre de son package, de ses imports, du répertoire de travail et de l’environnement d’exécution. Il peut aussi échouer si le code source comportait des erreurs de syntaxe ou de dépendances, ou s’il a été compilé avec des paramètres d’interpréteur incompatibles.
Puis-je reconvertir un fichier .pyc en fichier .py original ?
Non, la compilation de .py en .pyc n’est pas une conversion réversible sans perte. Une partie de la structure du code peut être récupérée à partir du bytecode, mais les commentaires, la mise en forme et parfois les constructions exactes du code source sont perdus.