szukam w kompilacji całkiem dużego zestawu modułów i paczek Pythona do pyo. Wiem, że jest to możliwe przez ustawienie zmiennej środowiskowej PYTHONOPTIMIZE lub przez podanie -O przy uruchomieniu. Chciałbym wymusić pyo zamiast pyc, aby uzyskać możliwie najmniejszy ślad. Aby to zrobić w moim module wdrożenia, muszę utworzyć skrypt otoki, który uruchamia właściwy skrypt z opcją -O, ponieważ zmienna środowiskowa musi zostać określona przed uruchomieniem interpretera.Kompilowanie plików .py do .pyo bez uciekania się do skryptu otoki
Czy istnieje sposób obejścia tego i wymuszenia programowego tworzenia pyo?
poważaniem, Thorsten
Dzięki za odpowiedź, ale jak wskazano powyżej wiem przełącznika i chciałby, aby tego uniknąć. Powodem jest to, że jest to narzędzie do wdrażania i chcę uniknąć przypadkowego wdrożenia przez użytkowników dwóch różnych wersji (pyc i pyo) tego samego pliku. Obecnie robię to zawijając wywołanie python.exe -O w skrypcie python przez os.system. To działa, ale jest nieco dziwne, więc zastanawiałem się, czy mogę się tego pozbyć. –
Byłoby miło móc sterować nim programowo (łatwiej) ... – martineau
"Zwróć uwagę, że wszystkie flagi -O powodują wyłączenie instrukcji assert Określić -OO i docstrings są opuszczone.Nie powodują one dużej różnicy prędkości lub oszczędność miejsca. " <- To naprawdę zależy od tego, ile masz instrukcji 'assert' i' if __debug__', prawda? Wiesz, co mówią o założeniach. – DylanYoung