Ajattelin kokeilumielessä aloittaa peliprojektin rakentamisen käyttäen Pythonia ja SFML-kirjastoa. En kuitenkaan tiedä Pythonista juuri mitään, joten minulle on hyvin epäselvää onko mahdollista luoda tavallinen exe-tiedosto joka toimisi ilman Pythonin asennusta? Kukaan tavallinen ihminen ei innostu jos pelin asennusta varten täytyy ladata ja asentaa sitä sun tätä, joten paketin pitäisi lähtä toimimaan ihan lataamalla pakattu tiedosto, purkamalla ja that's it. Ja tosiaan, SFML-kirjaston peli vaatii toimiakseen joten sekin (kai?) pitää huomioida asiassa jotenkin.
Mikset kirjoittaisi Pythoniksi, ja kääntäisi lopuksi käsin C++:ksi? Itsekkin olen miettinyt, että onkohan jotain tulkkia joka kääntää juuri näin Pythonin C++:ksi.
Mitä järkeä on eka kirjoittaa toisella kielellä ja sen jälkeen kääntää käsin toiselle? Menis nopeemmin, jos vaa kirjoittais suoraan sillä toisella. Itekki oon miettinut tuota, ku ei kaverit innostu pythonia asenteleen. :/
Windowsilla on pakko(tai ainakin kannattaa) olla kääntäjä vaikka binäärinä koodaisi. Linux osaa kääntää itse joitakin kieliä(ainakin Perl). Pythonin kotisivuilta saat kääntäjän.
Itse olen joskus käyttänyt py2exe-ohjelmaa. Se tutkii Python-skriptisi, sisällyttää kaikki tarvittavat Python-moduulit ja luo ajettavan exe:n. Se ei käännä Python-skriptiä konekielelle, vaan sisällyttää tarvittavat moduulit, että skripti voidaan ajaa ilman Python-tulkin asennusta.
Jokotai: Suosittelen uutta strategiaa: tarkista vastauksesi ennen vastaamista. Linux ei suinkaan "käännä itse" mitään kieliä, vaan erilaisissa Linux-jakeluissa vain usein on valmiiksi Perl- tai Python-tulkki.
Joka tapauksessa Linuxin suhteen asiasta ei tarvitse kantaa niin paljon huolta (paitsi SFML:n osalta), ja Windowsilla py2exe ratkaisee ongelman varsin näppärästi.
Metabolix kirjoitti:
Jokotai: Suosittelen uutta strategiaa: tarkista vastauksesi ennen vastaamista. Linux ei suinkaan "käännä itse" mitään kieliä, vaan erilaisissa Linux-jakeluissa vain usein on valmiiksi Perl- tai Python-tulkki.
Aina ei kieli validi kun itseopittu ohjelmointi ei kurssi :D
Osaako py2exe käsitellä myös Python 3:sta? En löytänyt mistään mainintaa ja Googlekin antoi vähän asian suhteen synkkiä hakutuloksia. En miellään kakkosversiota käyttäisi koska kolmosessa on niin paljon helpottavia parannuksia.
Ei ainakaan latauksista löydy sille sopivaa versiota, ehkä SVN-versio tukisi.
cx_Freeze tekee saman, mitä py2exe, ja se on vielä cross platform. Kokeiluissani se näytti myös toimivan joiltakin osin paremmin kuin py2exe.
Uusimman py2exe-version päiväys on 2008-11-16, ja koska Python 3 julkaistiin vasta vähän tämän jälkeen, sille ei varmaankaan ole tukea. Olettaisin kuitenkin, että tuon voisi pienellä perehtymisellä päivitettää. Pikaisella haulla löysin myös toisen vastaavan projektin, jota ilmeisesti kehitetään aktiivisemmin: cx_Freeze.
(Edit: aina ei voi voittaa. :)
Kiitoksia, pitää kokeilla tuolla sitten.
Onko tietoa vastaavista ohjelmista python 3.x:lle?
Yllä mainittu cx_Freeze toimii Python version 3.1 kanssa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.