Pertanyaan Menjalankan python pada mesin Windows vs Linux


Saya tertarik untuk belajar python tetapi keterampilan Linux saya menyedot. Saya ingin mengembangkan aplikasi web skala sedang hingga besar menggunakan python dan Django tetapi takut perangkat lunak mungkin tidak berfungsi dengan baik pada kotak windows. Apakah ada perbedaan kinerja dalam menjalankan python di Linux vs Windows? Apakah ada hal yang harus saya waspadai ketika mengembangkan aplikasi. Juga, saya sadar bahwa itu sangat mudah mengintegrasikan pustaka C ++ dengan python. Apakah pernyataan ini masih benar adalah kode pada kotak windows?


13
2017-09-21 23:17


asal


Jawaban:


Jangan beri tahu siapa pun tentang ini, tapi saya menjalankan python / django di jendela. Ia bekerja baik-baik saja dan kinerja yang dihasilkan tidak lebih buruk dari yang Anda harapkan dari windows. Saya menggunakan MySQL dan menginstalnya tanpa masalah. Saya harus meraba-raba untuk mencari tahu cara mengelolanya (tidak ada yang baik sudo /etc/init.d/mysql restart tetapi saya akhirnya menemukan antarmuka grafis untuk melakukan apa yang saya butuhkan.


12
2017-09-21 23:27



tetapi takut perangkat lunak mungkin tidak berfungsi dengan baik pada kotak windows.

Perangkat lunak Anda akan berfungsi. OS Windows mungkin tidak berfungsi seperti yang Anda harapkan. Tapi itu Windows, bukan Python.

Kami mengembangkan 100% di Windows. Kami benar-benar menguji: Tes unit, uji integrasi, dan uji penerimaan pengguna di Windows. 100%.

Kami menyebarkan untuk produksi 0% di Windows, 100% di Linux.

Kami memiliki beberapa (kurang dari 6) perbedaan dalam tes unit yang khusus Windows.

Aplikasi tidak memiliki perubahan. Ia bekerja dengan Apache atau tidak. Ia bekerja dengan SQLite atau MySQL.


13
2017-09-22 01:36



Saya telah bekerja dengan Py pada Windows dan Linux. Saya menyukai Linux karena beberapa hal:

  1. virtualenvs - begitu Anda mulai bekerja dengan virtualenvs, tidak ada jalan untuk kembali.
  2. SHELL - CMD sangat frustasi ketika menjalankan perintah python / manajemen di Django. Juga, Anda harus menambahkan python.exe setiap kali :).
  3. ipython berfungsi lebih baik di Linux.
  4. GeoDjango tidak berfungsi di Vista / 7 terakhir kali saya periksa. Saya menghabiskan 3 hari mencoba mengaturnya. Hanya untuk perbandingan, saya mengatur lingkungan pengembangan GeoDjango dalam 20 menit di Linux.
  5. Linux gratis :)
  6. Meskipun tidak ada dampak kinerja yang terlihat atau ketidaksesuaian saat bekerja dengan python cross-platform, manfaat Linux untuk pengembangan python lebih besar daripada Windows. Ini jauh lebih nyaman dan pasti akan meningkatkan produktivitas Anda.
  7. ...

IMHO Linux adalah pilihan cerdas untuk pengembangan Python.


6
2017-09-21 23:31



Program Python sangat mudah dibawa-bawa. Sebagian besar waktu kode Anda akan bekerja pada platform apa pun yang memiliki versi python yang sesuai.

Satu hal yang harus diperhatikan adalah penanganan file path. Linux, Windows, Mac, dll menggunakan skema jalur yang berbeda, sehingga Anda tidak seharusnya menangani mereka sebagai string; alih-alih gunakan fungsi os.path untuk bergabung, berpisah, dll.

Pada akhirnya ada sedikit perbedaan kinerja dalam hal pengaturan waktu, penguliran, pemrosesan, I / O, tetapi mereka tidak perlu khawatir.

Mengintegrasikan Python dan C ++ itu mudah; satu-satunya masalah adalah di sisi C ++, yaitu Anda harus mengkompilasi ulang kode C ++.


1
2017-09-21 23:29



Seharusnya tidak menjadi masalah. Beberapa orang bahkan host Python + Django di Windows.


1
2017-09-21 23:29



  1. Perangkat lunak apa yang Anda takutkan tidak akan berfungsi di windows, aplikasi web yang sebenarnya, atau lingkungan pengembangan Anda. Jika yang Anda maksud adalah IDE, maka saya tidak akan khawatir tentang itu ada python IDE yang sangat bagus untuk windows, seperti untuk webapp yang merupakan diskusi lain bersama-sama

  2. Pernyataan bahwa "sangat mudah mengintegrasikan C + + libs dengan python" tidak akurat, ada banyak cara untuk melakukannya dan mereka tidak semua mudah, saya secara pribadi hanya mencoba SWIG, tetapi ada banyak alternatif lain (misalnya Boost. Python), siapa pun yang saya tidak percaya itu adalah mudah untuk bangun dan berjalan dengan beberapa alat ini pada jendela enviromeny dengan sesuatu seperti mingw atau cygwin sebagai setidaknya SWIG dibangun dengan * nix dalam pikiran


1
2017-09-21 23:32