>  Q&A  >  본문

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일 전1276

모든 응답(1)나는 대답할 것이다

  • 巴扎黑

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

    공식 문서 읽는 법 배우기, distutils 소개(distutils - python2):

    distutils 패키지는 Python 설치에 추가 모듈을 빌드하고 설치하기 위한 지원을 제공합니다. 새 모듈은 100% 순수 Python이거나 C로 작성된 확장 모듈이거나 Python 패키지 모음일 수 있습니다. 여기에는 Python과 C로 코딩된 모듈이 포함됩니다.

    즉, 전체 distutils 패키지가 Python 확장 모듈용 설치 프로그램을 생성하는 역할을 담당합니다.
    그 다음 문서의 두 번째 단락:

    대부분의 Python 사용자는 이 모듈을 직접 사용하기를 원하지 않지만 대신 Python Packaging Authority에서 관리하는 버전 간 도구를 사용합니다. 특히 setuptools는 다음을 제공하는 distutils의 향상된 대안입니다.

    보시다시피, 대부분의 Python 사용자는 고급 setuptools 모듈을 사용하게 됩니다. 문서에는 아래에 나열된 몇 가지 setuptools 장점이 있지만 여기에는 게시하지 않겠습니다.

    그럼 Pycharm는 왜 distutils을 사용하는 걸까요? setuptools가 더 강력하다는 뜻 아닌가요?

    이유는 간단합니다.
    distutilsPython 표준 모듈이고 setuptools은 타사 모듈입니다. 그리고 Pycharm setuptools을 설치하셨는지 모르겠네요. 불필요한 문제를 피하기 위해서는 당연히 표준 모듈을 사용해야 합니다.

    그럼 setuptools.setup이 무엇인지 살펴보겠습니다. setuptools/__init__.py에는

    라는 문장이 있습니다. 으아악

    그렇습니다.

    회신하다
    0
  • 취소회신하다