Saya pikir saya mendengar bahwa py2exe dapat melakukan ini, tetapi saya tidak pernah menemukan jawabannya. Adakah yang berhasil melakukan ini? Bisakah saya melihat file setup.py Anda, dan opsi baris perintah apa yang Anda gunakan?
Pada dasarnya saya memikirkannya memberi saya satu file yang dapat dieksekusi yang melakukan sesuatu seperti membuka ritsleting sendiri untuk mungkin / temp dan berjalan.
Jawaban:
PyInstaller akan membuat file .exe tunggal tanpa dependensi; gunakan
--onefile
opsi. Itu melakukan ini dengan mengemas semua lib yang dibagikan yang diperlukan ke dalam executable, dan membongkar mereka sebelum berjalan, seperti yang Anda jelaskan (EDIT: py2exe juga memiliki fitur ini, lihat jawaban minty )Saya menggunakan versi PyInstaller dari svn, karena rilis terbaru (1.3) agak ketinggalan jaman. Ini telah bekerja dengan sangat baik untuk aplikasi yang bergantung pada PyQt, PyQwt, numpy, scipy dan beberapa lainnya.
sumber
Cara untuk melakukan ini menggunakan py2exe adalah dengan menggunakan opsi bundle_files di file setup.py Anda. Untuk satu file, Anda ingin mengatur
bundle_files
ke 1,compressed
ke True, dan mengatur opsi zipfile ke None. Dengan cara itu ia membuat satu file terkompresi untuk distribusi mudah.Berikut adalah deskripsi yang lebih lengkap dari opsi bundle_file yang dikutip langsung dari situs py2exe *
Berikut ini contoh setup.py:
sumber
windows = [{'script': "single.py"}]
denganconsole = ['single.py']
mengklik dua kali file akan terbuka di jendela CMD di Windows.Seperti yang disebutkan poster lainnya, py2exe, akan menghasilkan + beberapa library yang dapat dieksekusi untuk dimuat. Anda juga dapat memiliki beberapa data untuk ditambahkan ke program Anda.
Langkah selanjutnya adalah menggunakan installer, untuk mengemas semua ini menjadi satu program installable / unistallable yang mudah digunakan.
Saya telah menggunakan InnoSetup ( http://www.jrsoftware.org/isinfo.php ) dengan senang selama beberapa tahun dan untuk program komersial, jadi saya sungguh-sungguh merekomendasikannya.
sumber
Saya sudah bisa membuat file exe tunggal dengan semua sumber daya dimasukkan ke exe. Saya sedang membangun di jendela. jadi itu akan menjelaskan beberapa panggilan sistem. Saya menggunakan.
Pertama saya mencoba mengubah semua gambar saya menjadi bitmats dan kemudian semua file data saya menjadi string teks. tetapi ini menyebabkan exe terakhir menjadi sangat besar.
Setelah googleing selama seminggu saya menemukan cara mengubah skrip py2exe untuk memenuhi kebutuhan saya.
di sini adalah tautan tambalan pada sourceforge yang saya kirimkan, silakan kirim komentar sehingga kita bisa memasukkannya dalam distribusi berikutnya.
http://sourceforge.net/tracker/index.php?func=detail&aid=3334760&group_id=15583&atid=315583
ini menjelaskan semua perubahan yang dilakukan, saya cukup menambahkan opsi baru ke baris setup. di sini adalah setup.py saya.
Saya akan mencoba berkomentar sebisa mungkin. Perlu diketahui bahwa setup.py saya rumit karena fakta bahwa saya mengakses gambar dengan nama file. jadi saya harus menyimpan daftar untuk melacaknya.
ini dari screen saver ingin-ke-b yang saya coba buat.
Saya menggunakan exec untuk menghasilkan setup saya pada saat run time, lebih mudah untuk memotong dan menempel seperti itu.
kerusakan
script = py script saya ingin beralih ke exe
icon_resources = ikon untuk exe
file_resources = file yang ingin saya embed ke dalam exe
other_resources = string untuk dimasukkan ke exe, dalam hal ini daftar file.
options = opsi py2exe untuk membuat semuanya menjadi satu file exe
bitmap_strings = daftar file yang akan disertakan
Harap perhatikan bahwa file_resources bukan opsi yang valid sampai Anda mengedit file py2exe.py Anda seperti yang dijelaskan dalam tautan di atas.
pertama kali saya mencoba memposting kode di situs ini, jika saya salah jangan memecat saya.
ok, itu saja untuk setup.py sekarang sihir diperlukan mengakses gambar. Saya mengembangkan aplikasi ini tanpa mengingat py2exe kemudian menambahkannya nanti. jadi Anda akan melihat akses untuk kedua situasi. jika folder gambar tidak dapat ditemukan mencoba menarik gambar dari sumber daya exe. kode akan menjelaskannya. ini adalah bagian dari kelas sprite saya dan menggunakan directx. tetapi Anda dapat menggunakan api apa pun yang Anda inginkan atau hanya mengakses data mentah. tidak masalah.
Setiap pertanyaan jatuh bebas untuk diajukan.
sumber
\'file_resources': [('txt2.txt')]
memberikan saya kesalahan (file yang ingin saya embel di file .exe saya bernama txt2 dan ini adalah file .txt )Anda harus membuat pemasang, seperti yang disebutkan sebelumnya. Meskipun dimungkinkan untuk membiarkan py2exe bundle semuanya menjadi satu executable, dengan menetapkan opsi bundle_files ke 1 dan argumen kata kunci zipfile ke None, saya tidak merekomendasikan ini untuk aplikasi PyGTK.
Itu karena GTK + mencoba memuat file datanya (penduduk setempat, tema, dll.) Dari direktori tempat memuatnya. Jadi, Anda harus memastikan bahwa direktori executable Anda berisi juga perpustakaan yang digunakan oleh GTK + dan direktori lib, bagikan, dan lain-lain dari instalasi GTK + Anda. Kalau tidak, Anda akan mendapatkan masalah dalam menjalankan aplikasi pada mesin di mana GTK + tidak diinstal di seluruh sistem.
Untuk lebih jelasnya baca panduan saya ke py2exe untuk aplikasi PyGTK . Ini juga menjelaskan cara menggabungkan semuanya, tetapi GTK +.
sumber
Saya diberitahu bbfreeze akan membuat satu file .EXE, dan lebih baru dari py2exe.
sumber
Saya baru-baru ini menggunakan py2exe untuk membuat executable untuk post-review untuk mengirim ulasan ke ReviewBoard.
Ini adalah setup.py yang saya gunakan
Itu menciptakan direktori yang berisi file exe dan perpustakaan yang dibutuhkan. Saya rasa tidak mungkin menggunakan py2exe untuk mendapatkan hanya satu file .exe. Jika Anda perlu, Anda harus terlebih dahulu menggunakan py2exe dan kemudian menggunakan beberapa bentuk installer untuk membuat executable akhir.
Satu hal yang harus diperhatikan adalah bahwa semua file telur yang Anda gunakan dalam aplikasi Anda harus di-unzip, jika tidak py2exe tidak dapat memasukkannya. Ini tercakup dalam dokumen py2exe.
sumber
coba c_x bekukan itu bisa membuat standalone yang bagus
sumber
Tidak, itu tidak memberi Anda satu executable dalam arti bahwa Anda hanya memiliki satu file sesudahnya - tetapi Anda memiliki direktori yang berisi semua yang Anda butuhkan untuk menjalankan program Anda, termasuk file exe.
Saya baru saja menulis setup.py ini hari ini. Anda hanya perlu memohon
python setup.py py2exe
.sumber