2013-07-10 4 views
5

Я новичок в Python и полностью потерял, где даже начать делать это.Как скомпилировать несколько файлов py как один?

Я написал много небольших модулей (набор инструментов для майи), которые необходимо скомпилировать в один файл .pyc. Есть ли модуль, который просто делает это? Или вы можете сказать мне, с чего начать? Учебник? Я даже не знаю, какие условия нужно искать.

+3

Что заставляет вас думать, что вам нужно сделать это? –

+0

Потому что я не хочу загружать 50 различных файлов python в Maya. Не лучше ли было бы просто добавить один и иметь доступ ко всем? – user12294

+0

Нет, лучше иметь 50 файлов в одной папке. Загрузка 50 разных файлов не сложнее, чем загрузка 1, это всего лишь один вызов в любом случае. Однако, с точки зрения управления, расширения и использования, лучше иметь 50 файлов. Если, с другой стороны, вы хотите обфускать свой код, не используйте python, вместо этого используйте C++. Однако python позволяет вам застегивать папку (и называть ее яйцом), поэтому пользователь видит только одну папку, ее все еще 50 отдельных файлов. – joojaa

ответ

0

Модуль compileall, представленный в стандартной библиотеке, будет скомпилировать все файлы в каталоге, но он все равно не сгенерирует ни один .pyc-файл. Пример его использования также приведен в effbot.org. Я не знаю, возможно ли вообще создать один файл pyc из нескольких модулей.

Однако я предполагаю, что вы занимаетесь созданием python egg, что делает отдельный файл из серии файлов, сгруппированных в одном пакете, и это то, что вы хотите, я думаю.

1

Вам даже не нужно делать яйцо, вы можете просто застегнуть файлы и поместить zip-файл на свой путь python. Версия майя Python включает в себя модуль zipimport по умолчанию, поэтому он просто работает, пока майя может найти ваш zip-файл.

Вот некоторые дискуссии по всей теме распределения инструментов могут оказаться полезными:

http://tech-artists.org/forum/showthread.php?3271-Distribution-techniques-for-external-Python-tools&highlight=distribute

http://tech-artists.org/forum/showthread.php?3987-Maya-GitHub-and-Script-Paths-for-Mel-and-Python-How-Would-You-Do-It&highlight=distribute

http://tech-artists.org/forum/showthread.php?3752-Best-Way-to-Share-Your-Scripts&highlight=distribution

Смежные вопросы