Apa yang saya gunakan di linux untuk membuat program python dapat dieksekusi

89

Saya baru saja menginstal sistem linux (Kubuntu) dan bertanya-tanya apakah ada program untuk membuat program python dapat dieksekusi untuk linux.

rmtheis
sumber
Sudah dijawab di sini http: //stackoverflow.com/questions/193077 / ...
Andrew Beyer
2
Tidak, tidak terjawab di sana. Pertanyaan itu menanyakan tentang masalah distribusi.
tzot
Tidak, itu bukan penipuan. Pertanyaan itu terkait dengan mendistribusikan perangkat lunak python yang menghindari ketersediaan perpustakaan dan masalah kompatibilitas.
tzot

Jawaban:

160

Letakkan ini di baris pertama skrip Anda:

#!/usr/bin/env python

Buat file dapat dieksekusi dengan

chmod +x myfile.py

Jalankan dengan

./myfile.py
Vincent Van Den Berghe
sumber
7
Saya bingung. Bagaimana cara kerja "#! / Usr / bin / env python" saat hash seharusnya menjadikannya baris komentar? Saya mencoba menjalankan skrip tanpa garis hash, tetapi tidak berhasil. Jadi jelas baris diperlukan, tetapi bagaimana cara kerjanya jika itu adalah komentar?
Nav
5
Jika Anda mengirim skrip ke sesama pemrogram, ini bagus. Tetapi ini bukan cara yang cocok untuk mendistribusikan program Python ke pengguna akhir. Bagaimana jika pengguna tidak menginstal Python? Bagaimana jika mereka melakukannya, tetapi itu adalah versi yang berbeda dari yang Anda gunakan untuk menulis program? Secara keseluruhan ini hanya akan berfungsi untuk sebagian kecil pengguna, terutama di Windows.
Jonathan Hartley
5
@MathManiac Jika Anda melanjutkan seperti yang Anda maksudkan, sekitar 15% pengguna tidak akan dapat menjalankan aplikasi Anda. Ini akan menjadi beban dukungan yang melumpuhkan, belum lagi pengalaman pengguna yang sangat tidak menyenangkan, yang akan menghasilkan torrent postingan "aplikasi X sucks" yang penuh kebencian. Saya mendukung pernyataan saya bahwa ini bukan cara yang cocok untuk mendistribusikan aplikasi ke pengguna akhir.
Jonathan Hartley
3
@PrahladYeri menggunakan # / usr / bin / env python3
kingledion
4
@Nav Itu disebut Shebang . Ini dikomentari karena tidak boleh ditafsirkan oleh python. Ini memberikan informasi ke sistem operasi. Lebih khusus lagi dikatakan program apa yang harus digunakan untuk mengeksekusi skrip.
MannyC
16

Jika Anda ingin mendapatkan aplikasi biner yang berdiri sendiri dengan Python, coba gunakan alat seperti py2exe atau PyInstaller .

Mihai8
sumber
kata kunci: standalone
D Adams
Dapatkah saya mendekompilasi keluaran PyInstaller?
SuB
14

Anda dapat menggunakan PyInstaller. Ini menghasilkan build dist sehingga Anda dapat menjalankannya sebagai file "biner" tunggal.

http://pythonhosted.org/PyInstaller/#using-pyinstaller

Python 3 juga memiliki opsi asli untuk membuat build dist:

https://docs.python.org/3/distutils/builtdist.html

Leo Pepe
sumber
pertanyaannya bukan tentang membuat skrip python file exe / elf
warvariuc
8
Maaf tapi sepertinya pertanyaannya hanya itu! "Saya bertanya-tanya apakah ada program untuk membuat program python dapat dieksekusi untuk linux."
Leo Pepe
Terima kasih banyak, @LeoPepe, saya baru saja membuat pencatat kehadiran untuk kelas saya, yang mengambil input (nama siswa yang hadir) dari file dan memberikan kehadiran dalam file output, hanya dengan mengklik skrip yang dapat dijalankan yang dibuat dengan bantuan pyinstaller.
Genius
4

Menempatkan baris-baris ini di awal kode akan memberi tahu sistem operasi Anda untuk mencari program biner yang diperlukan untuk eksekusi skrip python, yaitu interpreter python.

Jadi itu tergantung pada sistem operasi Anda di mana ia menyimpan juru bahasa python. Karena saya menggunakan Ubuntu sebagai sistem operasi, ia menyimpan interpreter python /usr/bin/pythonsehingga saya harus menulis baris ini di awal skrip python saya;

#!/usr/bin/python

Setelah menyelesaikan dan menyimpan kode Anda

  1. Mulai terminal perintah Anda

  2. Pastikan skrip terletak di direktori kerja Anda saat ini

  3. Tipe chmod +x script_name.py

  4. Sekarang Anda dapat memulai skrip dengan mengklik skrip. Kotak peringatan akan muncul; tekan "Jalankan" atau "Jalankan di Terminal" di kotak peringatan; atau, pada prompt terminal, ketik./script_name.py

Mohit Dabas
sumber
4

Jika seseorang ingin membuatnya dapat dieksekusi hello.py

pertama temukan jalur di mana python ada di os Anda dengan: which python

biasanya berada di bawah folder "/ usr / bin / python".

di baris pertama hello.pyharus menambahkan:#!/usr/bin/python

kemudian melalui perintah linux chmod

seseorang harus membuatnya dapat dieksekusi seperti: chmod +x hello.py

dan jalankan dengan ./hello.py

Nilesh K.
sumber
1

Saya melakukan hal berikut:

  1. taruh #! / usr / bin / env python3 di atas skrip
  2. chmod u + x file.py
  3. Ubah .py menjadi .command dalam nama file

Ini pada dasarnya mengubah file menjadi bash yang dapat dieksekusi. Saat Anda mengklik dua kali, itu akan berjalan. Ini berfungsi dalam sistem berbasis Unix.

dan_the_ham-man
sumber
0

Cara lain untuk melakukannya bisa dengan membuat alias. Misalnya di tulis terminal:

alias printhello='python /home/hello_world.py'

Menulis printhelloakan menjalankan hello_world.py, tetapi ini hanya sementara. Untuk membuat alias permanen, Anda harus menambahkannya ke bashrc, Anda dapat mengeditnya dengan menulis ini di terminal:

gedit ~/.bashrc
Kelapa
sumber