Цитата: SharkyEXE
nur87
Так мне легче бы в каждой программе какой-то файл открывать и смотреть, какие эта программа модули требует. Например, в кажлой программе открывать файл *.py и смотерть, что ей требуеться, какие модули.
Или как?
Возму для примера программу CallS - эта программа на питоне. При помощи SISContents распаковал программу CallS , открываю файл \SISContents\327475_calls\private\F00D0BB2\private\F00D0BB2\default.py и вижу строки
import calls
Далее открываю файл \SISContents\327475_calls\private\F00D0BB2\private\F00D0BB2\calls.py и вижу строки со словом import:....import appswitch
import clipboard,telephone,os,e32
import appuifw...
Таким образом, для работы программы CallS мне нужно из какой-нибудь мега сборки питона выдрать всего-навсего 6 файлов:
appswitch
clipboard
telephone
os
e32
appuifw
и положить эти 6ть файлов в нужные папки? Или это всё не так?
Не совсем так. Многие .py-модули используют .pyd расширения. Те же appswitch, telephone и appuifw импортируют такие расширения, и эти расширения тоже придется положить, только уже в c:/sys/bin.
Кроме того импорты модулей не обязательно находятся в начале .py-файлов, они могут находиться в середине, конце, да где угодно. Их все придётся искать. Помимо этого многие .py-файлы скомпилированы в .pyc-файлы, а их уже нельзя просто так открыть.
Поэтому подобная тактика освобождения от "мусора" в принципе реализуема, но ооочень хлопотная. А сэкономите всего пару мегабайт (в модульпаки включено действительно много модулей на все случаи жизни).
-------------
добавлено в 14.56: Цитата: fompahaha
у меня вопрос - почему мобильный питон так отличается от нормального? Если я допустим знаю питон 2.7.2, а на телефоне есть 2.7.2, то почему он такой не похожий? Что, учить отдельно что ли? Тогда это не питон, а другой язык.
Ну, для начала на смартфон нет Python 2.7.2. Есть PyS60 2.0, он соответствует, если я не ошибаюсь CPython 2.5.4, то есть тому самому нормальному. А 2.5 от 2.7 и на компьютере довольно отличается.
Поскольку в ветку 2.7 бэкпортировано из ветки 3.х много возможностей, в том числе и синтаксических, несовместимых с веткой 2. Например, словарные выражения
{k:k for k in xrange(2)} #==> {0:0, 1:1}
Возможности же PyS60 1.4.5 вообще соответствуют CPython 2.2, а это уже такая мохнатая древность.
Возможности модулей из стандартных библиотек соответствующих версий своих больших братьев PyS60 поддерживает максимально полностью. Ограничения связаны только лишь с тем, что всё таки Symbian OS это не виндовс или юникс, а специфическая операционная система.