abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:44 | Zajímavý článek

    Před 32 lety, 6. června 1993, byl spuštěn první český WWW server (ještě pod TLD .cs), pro potřeby fyziků zabývajících se problematikou vysokých energií.

    Ladislav Hagara | Komentářů: 0
    včera 16:11 | Zajímavý software

    Střílečku Borderlands 2 lze v rámci výprodeje série Borderlands na Steamu získat zdarma napořád, když aktivaci provedete do 8. června 19:00.

    Ladislav Hagara | Komentářů: 1
    včera 15:11 | Nová verze

    Byla vydána nová verze 2.22 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    5.6. 15:00 | Komunita

    Canonical Launchpad vypíná systém správy verzí Bazaar. Vývojáři mohou své repozitáře do 1. září přemigrovat na Git.

    Ladislav Hagara | Komentářů: 5
    5.6. 13:22 | Nová verze

    Byla vydána nová verze 2.53.21 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 3
    5.6. 12:33 | Komunita Ladislav Hagara | Komentářů: 16
    5.6. 11:22 | Komunita

    Na Indiegogo byla spuštěna kampaň na podporu linuxového telefonu Liberux NEXX s osmijádrovým procesorem Rockchip RK3588S, 32 GB LPDDR4x RAM a 6.34″ 2400×1080 OLED displejem. Cena telefonu je 1 310 eur.

    Ladislav Hagara | Komentářů: 4
    5.6. 11:11 | Komunita

    Miro Hrončok vyhrál volby do Fedora Council. Mezi sedmi kandidáty, kteří se ucházeli o dvě křesla, nakonec získal nejvíce hlasů - 1089. Česká komunita má tak po delší době opět zástupce v nejvyšším orgánu Fedory.

    Ladislav Hagara | Komentářů: 0
    5.6. 04:33 | Zajímavý software

    Redox OS (Wikipedie), tj. mikrokernelový unixový operační systém naprogramovaný v programovacím jazyce Rust, nově podporuje X11 a GTK 3.

    Ladislav Hagara | Komentářů: 0
    5.6. 02:55 | IT novinky

    Dnes po celém světě startuje prodej herní konzole Nintendo Switch 2.

    Ladislav Hagara | Komentářů: 7
    Jaký je váš oblíbený skriptovací jazyk?
     (54%)
     (33%)
     (7%)
     (2%)
     (0%)
     (0%)
     (3%)
    Celkem 217 hlasů
     Komentářů: 14, poslední 2.6. 08:30
    Rozcestník

    Dotaz: Python: obsahuji zmrazene skripty i externi moduly?

    18.3.2016 00:24 zdenek2008 | skóre: 26
    Python: obsahuji zmrazene skripty i externi moduly?
    Přečteno: 528×
    Kdyz si napisu nejake skripty v Pythonu, ktere vyuzivaji extra instalovane programy jako treba plantuml nebo pdftk a navic treba pouzivaji databazi (rekneme napr. SQLite), a potom si hotove skripty zmrazim pomoci CX_freeze do MSI instalatoru na pocitadlo s Win (nebo jen jako build na jine PC s Linuxem), bude ten zmrazeny program fungovat "out of box" nebo se budou muset jeste extra doinstalovat ty externi programy/podpora databaze?

    (Kdo jeste nemate kristalovou kouli, smele se ptejte, rad doplnim.)

    Řešení dotazu:


    Odpovědi

    Řešení 1× (zdenek2008 (tazatel))
    Pavel Stárek avatar 18.3.2016 11:40 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Python: obsahuji zmrazene skripty i externi moduly?
    Poměrně dost věcí CX_freeze najde a zabalí sám. Pokud je potřeba nějaká specialitka, tak se mu to musí říct (například Microsoft C runtime - MSVCRT) pomocí include_files. Třeba takhle:
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import matplotlib
    import sys
    from cx_Freeze import setup, Executable
    
    # Dependencies are automatically detected, but it might need fine tuning.
    #build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]}
    includefiles = [("msshareddlls/Microsoft.VC90.CRT.manifest", "Microsoft.VC90.CRT.manifest"), ("msshareddlls/msvcm90.dll", "msvcm90.dll"), ("msshareddlls/msvcp90.dll", "msvcp90.dll"), ("msshareddlls/msvcr90.dll", "msvcr90.dll"), ("src/ui/main.ui", "ui/main.ui"), ("gtk-data-files/etc", "etc"), ("gtk-data-files/lib", "lib"), ("gtk-data-files/share", "share")]
    build_exe_options = {"packages": ["os", "serial", "matplotlib", "matplotlib.backends", "matplotlib.backends.backend_qt4agg", "matplotlib.backends.backend_gtkagg"], "excludes": [""], "include_files": includefiles}
    #build_exe_options = {}
    # GUI applications require a different base on Windows (the default is for a
    # console application).
    base = None
    if sys.platform == "win32":
        base = "Win32GUI"
    
    setup(  name = "ReflowControllerGUI",
            version = "1.0",
            description = "ReflowController data logging and setup application",
            options = {"build_exe": build_exe_options},
            executables = [Executable("src/ReflowControllerGUI.py", base=base, icon="icon.ico")])
    
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    18.3.2016 13:27 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python: obsahuji zmrazene skripty i externi moduly?
    Diky, vyzkousim.
    Pavel Stárek avatar 18.3.2016 17:31 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Python: obsahuji zmrazene skripty i externi moduly?
    A pokud chci něco aby zabalil a nejsem si jistý že balíček najde sám, tak ho vyjmenuju do té sekce packages (v mém případě tam mám například balíček serial).
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    18.3.2016 21:04 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python: obsahuji zmrazene skripty i externi moduly?
    Budu si to muset trochu vic prozkoumat; z toho co jsem zatim cetl, se zda ze Pythonove programy se distribuuji obtizneji nez kompilovane, z hlediska instalacnich potizi. Take je otazka, jestli zdrojovy kod zmrazenych Pythonovych skriptu je volne citelny, pro pripad ze bych program nechtel sirit jako open source.
    Pavel Stárek avatar 19.3.2016 13:29 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Python: obsahuji zmrazene skripty i externi moduly?
    V případě použití CX_freeze je vyroben malinký exe soubor který načítá interpreter pythonu a ten spustí vlastní pythonovský program. Co jsem koukal do výsledného zip souboru po použití cx_freeze, tak v něm je archiv library.zip, kde je jednak vlastní uživatelův program a další věci které jsou v čistém pythonu ze site-packages, avšak nejsou zabaleny v čitelné formě, ale jako "zkompilované" *.pyc soubory do bytekódu. Ty sice nejsou pro běžného uživatele čitelné, ale není problém je zpětně dekompilovat do čitelné formy.

    Pak se dá ještě použít py2exe, které udělá jeden velký exe soubor se vším uvnitř.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    19.3.2016 16:02 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python: obsahuji zmrazene skripty i externi moduly?
    Diky. On je vlastne stejny problem se smirovanim zdrojoveho kodu i v pripade ze se Python pouzije na webserveru pro generovani dynamickych stranek: pokud mame vyvinuty engine nejake aplikace puvodne pro desktop a potom se rozhodneme jeste k tomu udelat web rozhrani, skripty jsou na serveru a kdyz je to na webhostingu tak minimalne spravce u providera si muze vesele delat s nasim kodem co se mu zlibi, alespon dokud ho nekdo nechytne a neklepne pres prsty. Takze by mozna bylo lepsi pouzit zmrazeny Pythonovy program i na takovem webserveru - tedy jestli je to technicky mozne.
    Pavel Stárek avatar 19.3.2016 20:36 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Python: obsahuji zmrazene skripty i externi moduly?
    To není až tak úplně pravda. Pokud mám na webovém serveru nějaký skript v PHP (třeba), tak pokud je webserver správně nakonfigurován tak kód vykoná a do prohlížeče pošle HTML s výsledkem. Správce (provider, webhoster) ale samozřejmě může na ten skript koukat a dělat si s ním co chce. To samé v Pythonu, ale tam by se dal použít již "zkompilovaný" skript. Jinak cx_freeze nemá primárně za úkol ochránit pythonovský kód před kopírováním, ale jeho účel je hlavně v "zabalení" aplikace v Pythonu tak, aby koncový uživatel byl ušetřen instalace Pythonu a potřebných dalších závislostí.

    Jinak Python lze použít také pro vývoj webu (frameworky Django, TurboGears atd.), dokonce sám v sobě obsahuje jednoduchý webserver (z příkazové řádky: python -m SimpleHTTPServer ). Příkladem budiž i třeba hosting rosti.cz , který nabízí Python na straně serveru.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    20.3.2016 16:32 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python: obsahuji zmrazene skripty i externi moduly?
    Diky za vysvetleni. Pokusim se tim vsim prokousat. Jeste bych se zeptal trochu off topic: pokud jde o desktopove multiplatformni GUI, nakolik perspektivni je Tkinter?
    Pavel Stárek avatar 21.3.2016 14:49 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: Python: obsahuji zmrazene skripty i externi moduly?
    Nevím jak je perspektivní, je to jakési "hlavní" GUI pro Python, respektive obvykle bývá součástí instalace Pythonu. Ale nepoužívám ho, většinou jsem dělal v PyGTK.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    25.3.2016 13:21 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python: obsahuji zmrazene skripty i externi moduly?
    Diky, tak zatim vyzkousim Tkinter.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.