recherche

Maison  >  Questions et réponses  >  le corps du texte

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

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

from distutils.core import setup

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

from setuptools import setup, find_packages

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

阿神阿神2802 Il y a quelques jours1331

répondre à tous(1)je répondrai

  • 巴扎黑

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

    Apprenez à lire les documents officiels, distutils introduction (distutils - python2) :

    Le package distutils prend en charge la création et l'installation de modules supplémentaires dans une installation Python. Les nouveaux modules peuvent être soit du Python pur à 100 %, soit des modules d'extension écrits en C, soit des collections de packages Python. qui incluent des modules codés à la fois en Python et en C.

    En d'autres termes, l'ensemble du package distutils est responsable de la création du programme d'installation du module d'extension Python.
    Puis le deuxième paragraphe du document :

    La plupart des utilisateurs de Python ne voudront pas utiliser ce module directement, mais utiliseront plutôt les outils multi-versions maintenus par Python Packaging Authority. En particulier, setuptools est une alternative améliorée à distutils qui fournit :

    <. 🎜>
    Comme vous pouvez le constater, la plupart des

    utilisateurs utiliseront le module Python plus avancé. Il existe plusieurs setuptools avantages répertoriés ci-dessous dans le document, que je ne publierai pas ici. setuptools

    Alors pourquoi

    utilise Pycharm ? Cela ne veut-il pas dire que distutils est plus puissant ? setuptools

    La raison est simple :


    est un module distutils standard, et Python est un module tiers. Et setuptools Je ne sais pas si vous avez installé Pycharm Pour éviter des ennuis inutiles, vous devez bien sûr utiliser le module standard. setuptools

    Alors jetons un coup d'oeil à ce qu'est

    Il y a cette phrase dans setuptools.setup : setuptools/__init__.py.

    setup = distutils.core.setup

    C'est tout.

    répondre
    0
  • Annulerrépondre