python - distutils.core和setuptools有什么区别
阿神
阿神 2017-04-18 09:27:25
0
1
1327

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

from distutils.core import setup

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

from setuptools import setup, find_packages

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

阿神
阿神

闭关修行中......

모든 응답(1)
巴扎黑

공식 문서 읽는 법 배우기, 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에는

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

그렇습니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿