Python компилира всички файлове в друга структура

Имам проект на Python с файлове в структура на директории и бих искал да накарам всички .pyc файлове в същите директории, за да ги доставя без източници.

Опитвам се да направя това с python -m compileall -d /tmp/new -b ., но всички pyc файлове се създават в съответните им директории с източници вместо /tmp/new/somedir/

Някакви идеи? Ще трябва ли да създам скрипт, за да пресъздам тази структура?


person Benjamin    schedule 30.10.2017    source източник
comment
Можете да опитате да преместите директорията итеративно в os.walk()   -  person Kinght 金    schedule 30.10.2017
comment
защо не премахнете всички .py файлове с find след това   -  person georgexsh    schedule 30.10.2017
comment
Това е идеята на скрипта, който споменавам във въпроса си :)   -  person Benjamin    schedule 30.10.2017


Отговори (1)


Разгледайте разпространението на *.pyc файлове:

Какви са ограниченията при разпространението на .pyc файлове?

Предлагам ви да използвате Py2Exe или cx_Freeze:

person klassmann    schedule 30.10.2017
comment
Благодаря за този отговор, но не искам изпълним файл, искам да използвам този проект като библиотека. - person Benjamin; 30.10.2017
comment
Никога не съм използвал pyc файлове по този начин и мисля, че това не е добра идея, но ако искате да опитате да направите това, трябва да опитате да създадете директория pycache, където имате източника файлове. Или можете да проверите документацията, мисля, че този пример може да бъде полезен: docs.python.org /3/library/compileall.html - person klassmann; 30.10.2017