Saya tahu mengapa ini bagus secara umum: perbaikan keamanan yang lebih cepat, pengemasan yang lebih mudah, lebih banyak fitur. Namun, saya mencoba meyakinkan beberapa rekan kerja bahwa kita tidak perlu menggabungkan perpustakaan dengan program kita. Ini tidak akan berfungsi tanpa perpustakaan ini, tetapi perpustakaan telah stabil untuk sementara waktu sekarang dan akan tetap demikian untuk masa mendatang. Saya tidak melihat alasan untuk TIDAK membatalkannya.
Argumen apa yang bisa saya gunakan untuk meyakinkan mereka?
Situasi spesifik saya adalah ini: Saya sedang mengerjakan SymPy , yang merupakan perpustakaan Python open-source untuk matematika simbolik. Bagian inti dari itu adalah mpmath , yang merupakan perpustakaan untuk aritmatika floating point multi-previsi. SymPy tidak berfungsi tanpa mpmath, tidak ada alternatif. Karena itu, telah dibundel dengan SymPy sejak awal (saya diberitahu bahwa biasanya ada sedikit ketidakcocokan untuk memperbaiki setiap kali versi baru diimpor). Juga harus dicatat bahwa pengembang mpmath dulu terlibat dalam pengembangan SymPy. Sekarang ada masalah pada unbundling mpmath, Anda dapat membaca semuanya di sini .
Untuk meringkas diskusi di sana:
Membatalkan ikatan:
Agak lebih mudah porting ke Python 3 (argumen minor IMHO)
Kemasan lebih mudah untuk distribusi
Pembaruan fitur (keamanan) yang lebih cepat untuk pengguna
"Pengemasan dan penanganan dependensi adalah masalah yang sulit, tetapi mereka diselesaikan. Ini jelas bukan bidang di mana kita harus melakukan hal kita sendiri."
Simpan bundling:
Instalasi. Sangat mudah di Linux, lebih keras di Mac dan sangat keras di Windows. Kurangnya akses su dan masalah lainnya.
itu adalah bagian integral dari SymPy, yaitu sympy tidak bekerja tanpanya (sama sekali)
tidak ada paket lain, yang dapat melakukan pekerjaan mpmath
"Ketika saya, sebagai pengguna, mengunduh sympy, saya berharap itu hanya berfungsi."
Itulah situasi khusus saya, tetapi saya akan menerima jawaban yang memberikan jawaban umum yang baik juga.