Apakah virtualenv cocok untuk server produksi?

15

Saya berencana untuk mendirikan sebuah Python aplikasi ( Pyblosxom ) pada server saya dan mempertimbangkan untuk menjalankannya dalam sendiri sandbox virtualenv dengan --no-site-packages. Saya berharap pengaturan seperti itu akan mudah dibawa-bawa dan dirawat selama bertahun-tahun.

Namun, saya hanya menggunakan virtualenv untuk lingkungan pengembangan yang membuat ulang pengaturan server tertentu secara lokal, dan sebagian besar sumber tentang virtualenv juga menyebutkan virtualenv untuk penggunaan semacam itu.

Apakah ada kekurangan untuk menjalankan aplikasi Python dari virtualenv di server langsung?

CATATAN: Adapun portabilitas pengaturan, saya baru saja mengetahui --relocatableopsi eksperimental yang perlu dijalankan setelah paket baru diinstal. Bahkan jika saya tidak melakukan ini, saya kira setup akan cukup portabel berkat pip.

gnufs
sumber

Jawaban:

15

Ya, virtualenv sangat cocok untuk produksi - kami memiliki (sangat) pelanggan Python besar yang menjalankan aplikasi mereka di dalam virtualenv, dan itu bekerja dengan sangat baik untuk menjaga mereka tetap terisolasi dari konfigurasi sistem Python.

Namun, saya tidak akan merekomendasikan menggunakannya untuk "portabilitas" - mencoba untuk mengangkut semuanya dari mesin ke mesin. Ada terlalu banyak peluang untuk kegagalan halus karena ketidakcocokan yang tidak akan diketahui orang lain (karena itu bukan sesuatu yang dilakukan secara luas). Sebagai gantinya, miliki otomatisasi yang mampu membuat virtualenv baru yang sesuai dengan kebutuhan Anda pada mesin baru.

womble
sumber