2017-06-14 6 views
-3

Considérons que j'ai un paquet appelé "A" composé de plusieurs modules et aussi des paquets imbriqués. Maintenant, je veux distribuer ce paquet à l'utilisateur et je ne veux pas que l'utilisateur voie mon code du tout. J'ai entendu dire que ".pyc" peut être décompilé. Donc, je me demande juste quelles pourraient être les autres alternatives pour ce problème.comment distribuer un paquet sans exposer le code source en python?

Ce serait génial si quelqu'un donne quelques idées à cet égard.

+6

Copie possible de [Comment protéger le code Python?] (Https://stackoverflow.com/questions/261638/how-do-i-protect-python-code) – vaultah

+0

Voulez-vous faire un paquet python comme. EXE ? –

+0

La plupart des logiciels peuvent être inversés. Avez-vous des exigences particulières? –

Répondre

-1

Python est un langage interprété. Cela signifie que si vous voulez distribuer des fichiers pyc, vous devrez les faire tourner sur le même OS/architecture que le vôtre ou vous rencontrerez des problèmes subtils. Cela, et le fait que la plupart du code peut être décompilé dans une certaine mesure, me pousserait à repenser votre cas d'utilisation.

Pouvez-vous repenser votre paquet en tant que service à la place?

+0

Nous avons déjà pensé à l'option de service, mais nous n'y allons pas pour l'instant car l'infrastructure requise n'est pas en place. – PythonProgrammer

+0

@omu_negru Pourriez-vous donner une référence aux fichiers 'pyc' qui ne sont pas multi-plateforme? Assez sûr [ce n'est pas correct] (https://mail.python.org/pipermail/python-list/2008-November/467417.html). –

+0

@PeterWood Je sais pertinemment que la compatibilité avec les versions secondaires de bytecode n'est pas garantie, donc un pyc compilé en 3.5 échouerait en 3.6. Cela ne signifie pas qu'il manque tous ensemble, mais il n'est pas présent de la même manière que pour les fichiers de code source. –