Pythonilla ohjemoidut ohjelmat

Jaa ja jaa

Luin eräältä foorumilta että pythonilla ohjelmoitujen ohjelmien käyttämiseen tarvisi koneella olla python asennettuna (eikä se ilmeisesti ole valmiina winukassa tai muissakaan?).
Osaisiko joku hieman selventää tätä?
Kun pythonilla tuotettu esim pelejä joita pelaillut, niin onko näissä sisällytettynä kaikissa python vai mitä helvettiä?

Jos nyt ajattelee että suunnittelisi pienen ohjelman kirjoittamista pythonilla ja saada se myytyä naapurin Martille, niin ettei hänen tarvitsisi kun lyödä cd asemaan tai ladata appi linkistä ja painaa asenna, niin kuinka onnistuu teoriassa?

17

144

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • apuja.

      Python on ns. tulkki. Python "tulkitsee" python-ohjelmasi ajon aikana. Käyttiksessäsi ei välttämättä ole mukana Python-tulkkia, joten joudut silloin hakemaan sen jostain. Mistä, se riippuu käyttiksestäsi.

      Yleensä linux-jakeluissa python on asennettu jo valmiiksi. Windowsissa ei ole.

      En tiedä onko pythonille saatavana ns. kääntäjää, mutta jos on, niin silloin voit "kääntää" python-ohjelmasi sellaiseen muotoon, että python-tulkkia ei enää tarvita.

      Ohjelmasi paketointi on sitten ihan oma juttunsa.

    • Jaa

      Kiitos, jatkan tutkailua

    • Javaw
    • 1111111111119
    • "Osaisiko joku hieman selventää tätä?"

      ~Kaikki ohjelmat tarvitsevat ajoympäristönsä. C-kielisetkin tarvitsevat sen libc:n ja jne.

      Python on yleensä vakiona käyttöjärjestelmässä, mutta ei kaikissa.

      • Delphikoodaaja

        "~Kaikki ohjelmat tarvitsevat ajoympäristönsä. C-kielisetkin..."

        Delphillä tehty ohjelma vaatii ajoympäristökseen ainoastaan Microsoft Windows -käyttöjärjestelmän, ei mitään muuta.

        Poikkuksena se, jos Delphi -ohjelmoija käyttää ohjelmassaan jotain sellaista, joka vaatii muutakin, esim. importoi jotain jostain sellaisesta DLL:stä, joka ei tule osana käyttöjärjestelmää. Tällöin toki ko. DLL tulee toimittaa ohjelman mukana.

        Mutta ihan perusohjelma Delphillä ei tosiaan vaadi alle muuta kuin käyttöjärjestelmän, eli ohjelman asennus on yksinkertainen: Kopioi EXE -tiedosto kohdekoneelle ja käynnistä. Vaihtoehtoisesti ohjelman voi ajaa suoraan asennusmedialta, jos kohdekoneen asetukset tämän sallivat.


      • Delphikoodaaja kirjoitti:

        "~Kaikki ohjelmat tarvitsevat ajoympäristönsä. C-kielisetkin..."

        Delphillä tehty ohjelma vaatii ajoympäristökseen ainoastaan Microsoft Windows -käyttöjärjestelmän, ei mitään muuta.

        Poikkuksena se, jos Delphi -ohjelmoija käyttää ohjelmassaan jotain sellaista, joka vaatii muutakin, esim. importoi jotain jostain sellaisesta DLL:stä, joka ei tule osana käyttöjärjestelmää. Tällöin toki ko. DLL tulee toimittaa ohjelman mukana.

        Mutta ihan perusohjelma Delphillä ei tosiaan vaadi alle muuta kuin käyttöjärjestelmän, eli ohjelman asennus on yksinkertainen: Kopioi EXE -tiedosto kohdekoneelle ja käynnistä. Vaihtoehtoisesti ohjelman voi ajaa suoraan asennusmedialta, jos kohdekoneen asetukset tämän sallivat.

        Delphin ajoympäristö on staattisesti linketettynä .exe tiedostoon. Siksi ne .exe tiedostot ovat niin saatanan isoja kun Delphillä tekee. Tämä nyt on taas näitä perusasioita, että mitä on staattinen linkitys ja dynaaminen linkitys:

        http://en.wikipedia.org/wiki/Static_library
        http://en.wikipedia.org/wiki/Dynamic_linker

        Periaatteessa aina saa linkattua staattisesti ja tehtyä sellaisia järkyttävän kokoisia .exe tiedostoja mutta siinä vaan on muutama asia:

        1. Joidenkin tekniikoiden lisenssi kieltää tämän.

        Suosituimpia lisenssejä ohjelmointivälineissä on LGPL lisenssi joka on periaatteessa GPL, mutta saa tehdä suljettuja ohjelmia. Lisenssin takia se avoimen lähdekoodin ajoympäristö on linkitetty ja voi olla se vakiopalikka. Tietysti jos siihen ajoympäristöön tekee muutoksia niin tarvitsee sen ajoympäristön koodit laittaa julki.

        Normaalisti ajoympäristö on käyttöjärjestelmässä valmiina.


        2. Ohjelmien asennuspaketit turpoavat

        Usein ohjelmistoissa on useita työkaluja paketoituna samaan. Otetaan nyt esimerkiksi vaikka MS Office. Staattinen linkitys pistää ohjelman turpoamaan kun jokainen exe tiedosto sisältää samat rojut vaikka ne voisi olla yksi kirjasto.


      • L_a_z_z_o

        Delphi niin kuin Lazarus (& freepascal) voivat tehdä kaikki yhteen "exeen" staattisesti linkitettynä. Mutta molemmilla voidaan tehdä myös dynaamisesti linkitettynä. Eli Delphi ja Lazarus (& Free Pascal) tukee kumpiakin tekniikoita. Molemmissa oletusarvoisesti tehdään yhteen exeen.

        Lazarus oletusarvoisesti linkkaa vielä debuggeritiedot exeen -> suuri koko

        Se miksi näin on laitettu oletusarvoiksi on selvä syy. On valittu se mikä tuottaa yleisesti vähiten huolta/huolehtimista.

        Eli ne jotka tarvitsevat Delphillä /Lazaruksella pienemmän exen ja haluavat hyödyntää dynaamisesti linkitettyjä kirjastoja voivat näin tehdä mutta se vaatii vähän ylimääräistä vaivaa.

        Delphillä tai Lazaruksella voit esim. tehdä sellaisia sovelluksia jotka toimivat USB-tikulta.


      • L_a_z_z_o kirjoitti:

        Delphi niin kuin Lazarus (& freepascal) voivat tehdä kaikki yhteen "exeen" staattisesti linkitettynä. Mutta molemmilla voidaan tehdä myös dynaamisesti linkitettynä. Eli Delphi ja Lazarus (& Free Pascal) tukee kumpiakin tekniikoita. Molemmissa oletusarvoisesti tehdään yhteen exeen.

        Lazarus oletusarvoisesti linkkaa vielä debuggeritiedot exeen -> suuri koko

        Se miksi näin on laitettu oletusarvoiksi on selvä syy. On valittu se mikä tuottaa yleisesti vähiten huolta/huolehtimista.

        Eli ne jotka tarvitsevat Delphillä /Lazaruksella pienemmän exen ja haluavat hyödyntää dynaamisesti linkitettyjä kirjastoja voivat näin tehdä mutta se vaatii vähän ylimääräistä vaivaa.

        Delphillä tai Lazaruksella voit esim. tehdä sellaisia sovelluksia jotka toimivat USB-tikulta.

        "On valittu se mikä tuottaa yleisesti vähiten huolta/huolehtimista."

        Sillä ei käytännössä ole merkitystä onko staattinen vai dynaaminen.

        "Delphillä tai Lazaruksella voit esim. tehdä sellaisia sovelluksia jotka toimivat USB-tikulta."

        Millä tahansa voi. Homma onnistuu kyllä paremmin tekniikoilla joissa ohjelmatiedostossa ei ole riippuvuutta arkkitehtuuriin tai käyttöjärjestelmään. Esim. Javalla.

        Se on ikävää kun loppukäyttäjän tarvitsee valita sieltä tikulta se arkkitehtuuri ja käyttöjärjestelmä ja tietää mitä itse käyttää. Ei pidä olettaa loppukäyttäjältä tuollaista tietoa.


      • T_S_A

        Java vaatii ajoympäristön. Javaa ei todellakaan laiteta joka koneeseen (esim. turvallisuussyistä)


      • T_S_A kirjoitti:

        Java vaatii ajoympäristön. Javaa ei todellakaan laiteta joka koneeseen (esim. turvallisuussyistä)

        Kaikki vaativat ajoympäristön. Joko se on staattisesti linkitetty, dynaamisesti linkitetty tai käyttöjärjestelmässä valmiina.

        Java laitetaan jokaiseen koneeseen missä käytetään Javaohjelmia eikä siinä ole mitään turvallisuusriskiä.


      • M-Kar kirjoitti:

        Kaikki vaativat ajoympäristön. Joko se on staattisesti linkitetty, dynaamisesti linkitetty tai käyttöjärjestelmässä valmiina.

        Java laitetaan jokaiseen koneeseen missä käytetään Javaohjelmia eikä siinä ole mitään turvallisuusriskiä.

        Itseasiassa Java ajoympäristöllä toimiva ohjelma on ajoympäristön osalta turvallisempi kuin Delphillä tehty ohjelma.

        1. Delphissä on osoittimia, Javassa ei

        2. Delphin ajoympäristö on staattisesti käännetty. Siinä olevien turvareikien korjaus tarvitsee uuden Delphin ostamista ja ohjelmien kääntämistä uudella versiolla.


      • JAVA_kysymys
        M-Kar kirjoitti:

        Kaikki vaativat ajoympäristön. Joko se on staattisesti linkitetty, dynaamisesti linkitetty tai käyttöjärjestelmässä valmiina.

        Java laitetaan jokaiseen koneeseen missä käytetään Javaohjelmia eikä siinä ole mitään turvallisuusriskiä.

        Javan ajoympäristöä ei taida (enään) olla missään alkuperäisasennuksessa. Saako sitä edes noihin (windows) tabletteihin?


      • a___e
        M-Kar kirjoitti:

        Itseasiassa Java ajoympäristöllä toimiva ohjelma on ajoympäristön osalta turvallisempi kuin Delphillä tehty ohjelma.

        1. Delphissä on osoittimia, Javassa ei

        2. Delphin ajoympäristö on staattisesti käännetty. Siinä olevien turvareikien korjaus tarvitsee uuden Delphin ostamista ja ohjelmien kääntämistä uudella versiolla.

        Taas puhut asian vierestä. Delphissä voi käyttää viittauksia kuten Javassa. Delphin luokkamalli on samanlainen kuin Javan (kaikki luokat pohjautuvat TObjectiin vertaa javan Objectiin) esim C on erilainen luokkamalli.

        Niinkuin tiedät niin Delphissä on myös osoittimet. Niitä voidaan käyttää silloin kun halutaan ohjelmoida C:mäisesti (jos näin halutaan).

        Delphillä tehty ohjelma voidaan linkittää kahdella tavalla joko staattisesti tai dynaamisesti.

        Jos käytetään staattista linkitystä niin mukaan ei tule ylimääräisiä osia. Vain ohjelman kannalta tarpeellinen linkitetään.

        Yleisesti ottaen dynaamisessä linkityksessä tulee yhden ohjelman kannalta ylimääräisiä palasia mukaan


      • JAVA_kysymys kirjoitti:

        Javan ajoympäristöä ei taida (enään) olla missään alkuperäisasennuksessa. Saako sitä edes noihin (windows) tabletteihin?

        Mikä on alkuperäisasennus?

        Javan saa käytännössä kaikkiin työpöytäympäristöihin. Ei sillä mitään WinRT sovelluksia tehdä.


      • a___e kirjoitti:

        Taas puhut asian vierestä. Delphissä voi käyttää viittauksia kuten Javassa. Delphin luokkamalli on samanlainen kuin Javan (kaikki luokat pohjautuvat TObjectiin vertaa javan Objectiin) esim C on erilainen luokkamalli.

        Niinkuin tiedät niin Delphissä on myös osoittimet. Niitä voidaan käyttää silloin kun halutaan ohjelmoida C:mäisesti (jos näin halutaan).

        Delphillä tehty ohjelma voidaan linkittää kahdella tavalla joko staattisesti tai dynaamisesti.

        Jos käytetään staattista linkitystä niin mukaan ei tule ylimääräisiä osia. Vain ohjelman kannalta tarpeellinen linkitetään.

        Yleisesti ottaen dynaamisessä linkityksessä tulee yhden ohjelman kannalta ylimääräisiä palasia mukaan

        "Niinkuin tiedät niin Delphissä on myös osoittimet. Niitä voidaan käyttää silloin kun halutaan ohjelmoida C:mäisesti (jos näin halutaan)."

        Ja Javassa taas ei ole osoittimia. Että mihinkäs nyt perustuu se turvattomuus?


    • LclBd-Tirehtööri

      Ei tarvitse olla. On disinformaatiota. Itse käytän projektien kanssa cx_freezeä ja toimii aivan mainiosti, mukaanlukien erilaiset apukirjastot jne. Koodasin tuossa yhden testiprojektin Pythonilla. Siitä saa antaa palautetta. Jopa itse projektin palstalla, jos se nyt sattuu toimimaan. https://lclbd.com/

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Nellietä Emmaa ja Amandaa stressaa

      Ukkii minnuu Emmaa ja Amandaa stressaa ihan sikana joten voidaanko me koko kolmikko hypätä ukin kainaloon ja syleilyyn k
      Isovanhempien jutut
      6
      1218
    2. Mielessäni vieläkin T

      Harmi että siinä kävi niinkuin kävi, rakastin sinua. Toivotan sulle kaikkea hyvää. Toivottavasti löydät sopivan ja hyvän
      Ikävä
      15
      1148
    3. Nähtäiskö ylihuomenna taas siellä missä viimeksikin?

      Otetaan ruokaöljyä, banaaneita ja tuorekurkkuja sinne messiin. Tehdään taas sitä meidän salakivaa.
      Ikävä
      1
      1089
    4. Ei luottoa lakko maahan

      Patria menetti sovitun ksupan.
      Suomen Keskusta
      2
      1086
    5. Sinäkö se olit...

      Vai olitko? Jostain kumman syystä katse venyi.. Ajelin sitten miten sattuu ja sanoin ääneen siinä se nyt meni😅😅... Lis
      Ikävä
      0
      1068
    6. Hyvää yötä ja kauniita unia!

      Täytyy alkaa taas nukkumaan, että jaksaa taas tämän päivän haasteet. Aikainen tipu madon löytää, vai miten se ärsyttävä
      Tunteet
      2
      1065
    7. Pupuhuhdasta löytyi lähes sadan kilon miljoonalasti huumeita

      Pupuhuhdasta löytyi lähes sadan kilon miljoonalasti huumeita – neljä Jyväskylän Outlaws MC:n jäsentä vangittu: "Määrät p
      Jyväskylä
      41
      1064
    8. Persut petti kannattajansa, totaalisesti !

      Peraujen fundamentalisteille, vaihtkaa saittia. Muille, näin sen näimme. On helppo luvata kehareille, eikä ne ymmärrä,
      Maailman menoa
      0
      1062
    9. Housuvaippojen käyttö Suomi vs Ulkomaat

      Suomessa housuvaippoja aletaan käyttämään vauvoilla heti, kun ne alkavat ryömiä. Tuntuu, että ulkomailla housuvaippoihin
      Vaipat
      0
      1057
    10. Lepakot ja lepakkopönttö

      Ajattelin tehdä lepakkopöntön. Tietääkö joku ovatko lepakot talvella lepakkopöntössä ´vai jossain muualla nukkumassa ta
      0
      1055
    Aihe