Belajar membaca dokumen rasmi, distutils pengenalan (distutils - python2):
Pakej distutils menyediakan sokongan untuk membina dan memasang modul tambahan ke dalam pemasangan Python Modul baharu mungkin sama ada Python 100% tulen, atau mungkin modul sambungan yang ditulis dalam C, atau mungkin koleksi pakej Python. yang termasuk modul berkod dalam Python dan C.
Dalam erti kata lain, keseluruhan pakej distutils bertanggungjawab untuk mencipta pemasang untuk modul pengembangan Python. Kemudian perenggan kedua dokumen:
Kebanyakan pengguna Python tidak mahu menggunakan modul ini secara langsung, sebaliknya menggunakan alatan versi silang yang diselenggara oleh Pihak Berkuasa Pembungkusan Python Khususnya, setuptools ialah alternatif yang dipertingkatkan kepada distutil yang menyediakan:
Seperti yang anda lihat, kebanyakan pengguna Python akan menggunakan modul setuptools yang lebih maju. Terdapat beberapa kelebihan setuptools yang disenaraikan di bawah dalam dokumen, yang saya tidak akan siarkan di sini.
Jadi mengapa Pycharm menggunakan distutils? Bukankah ini bermakna setuptools lebih berkuasa?
Sebabnya mudah: distutils ialah Python modul standard dan setuptools ialah modul pihak ketiga. Dan Pycharm Saya tidak tahu jika anda telah memasang setuptools Untuk mengelakkan masalah yang tidak perlu, sudah tentu anda mesti menggunakan modul standard.
Kemudian mari kita lihat apa itu setuptools.setup terdapat ayat ini dalam setuptools/__init__.py:
Belajar membaca dokumen rasmi,
distutils
pengenalan (distutils - python2):Dalam erti kata lain, keseluruhan pakej
distutils
bertanggungjawab untuk mencipta pemasang untuk modul pengembanganPython
.Kemudian perenggan kedua dokumen:
Seperti yang anda lihat, kebanyakan pengguna
Python
akan menggunakan modulsetuptools
yang lebih maju. Terdapat beberapa kelebihansetuptools
yang disenaraikan di bawah dalam dokumen, yang saya tidak akan siarkan di sini.Jadi mengapa
Pycharm
menggunakandistutils
? Bukankah ini bermaknasetuptools
lebih berkuasa?Sebabnya mudah:
distutils
ialahPython
modul standard dansetuptools
ialah modul pihak ketiga. DanPycharm
Saya tidak tahu jika anda telah memasangsetuptools
Untuk mengelakkan masalah yang tidak perlu, sudah tentu anda mesti menggunakan modul standard.Kemudian mari kita lihat apa itu
setuptools.setup
terdapat ayat ini dalamsetuptools/__init__.py
:Itu sahaja.