Rumah  >  Soal Jawab  >  teks badan

python - distutils.core和setuptools有什么区别

用pycharm自动生成的setup文件,使用的是distutils.core里的setup

from distutils.core import setup

但我看很多人写的setup,用的是setuptools

from setuptools import setup, find_packages

这个distutils和setuptools分别是什么背景,怎么同样功能出现两个包呢?

阿神阿神2741 hari yang lalu1285

membalas semua(1)saya akan balas

  • 巴扎黑

    巴扎黑2017-04-18 09:29:25

    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:

    setup = distutils.core.setup

    Itu sahaja.

    balas
    0
  • Batalbalas