У меня есть приложение, написанное в python 2.7
. В моем приложении я хочу дать пользователям возможность скомпилировать исходный файл python (например, py
- pyc
).Компиляция в другую версию python
встроенный compile
функция делает это, но выходной файл совместим только с python 2.7
.
То, что я хочу, чтобы скомпилировать файл в диапазон различных версий питона (в частности, Python 2.5
, 2.6
& 2.7
)
Я знаю, что один из способов подойти к этой проблеме повторно написать мое приложение в каждом из эти версии и просто использовать встроенную функцию compile
, но я не хочу этого делать.
Я открыт для всех предложений, в том числе написания расширения C, вложения питона и т.д. ...
EDIT
приложения, которое я пишу это инструмент, который позволяет вводить/изменять произвольный код внутри pyinstaller exe.
Теперь вы можете знать, что pyinstaller фактически ставит скомпилированные исходные файлы python в exe. Мое приложение просто извлекает эти встроенные файлы pyc, декомпилирует их, позволяет пользователю изменять их, а затем перестраивать exe.
Поскольку exe может быть из другой версии python, поэтому мне нужна функциональность для компиляции декомпилированного вывода в эту версию.
Вот скриншот этого приложения.
Зачем вам это нужно? Если вы используете средство установки Python, например 'pip', это делается для вас при установке. И Python автоматически делает это при запуске кода в любом случае при условии, что во время импорта есть доступ на запись. –
И встроенная функция 'compile()' делает ** не ** создает '.pyc' файлы. Вы можете использовать ['compileall' module] (http://docs.python.org/2/library/compileall.html), чтобы Python создавал эти файлы для целого каталога или отдельных файлов. Просто используйте 'python-2.5 -m compileall/path/to/project', чтобы сделать это с помощью интерпретатора Python 2.5, например. –
'pyinstaller' устанавливает код ** с конкретной версией Python **. ** Нет необходимости ** прекомпилировать там. –