用pycharm自动生成的setup文件,使用的是distutils.core里的setup
from distutils.core import setup
但我看很多人写的setup,用的是setuptools
from setuptools import setup, find_packages
这个distutils和setuptools分别是什么背景,怎么同样功能出现两个包呢?
闭关修行中......
공식 문서 읽는 법 배우기, distutils 소개(distutils - python2):
distutils
distutils 패키지는 Python 설치에 추가 모듈을 빌드하고 설치하기 위한 지원을 제공합니다. 새 모듈은 100% 순수 Python이거나 C로 작성된 확장 모듈이거나 Python 패키지 모음일 수 있습니다. 여기에는 Python과 C로 코딩된 모듈이 포함됩니다.
즉, 전체 distutils 패키지가 Python 확장 모듈용 설치 프로그램을 생성하는 역할을 담당합니다. 그 다음 문서의 두 번째 단락:
Python
대부분의 Python 사용자는 이 모듈을 직접 사용하기를 원하지 않지만 대신 Python Packaging Authority에서 관리하는 버전 간 도구를 사용합니다. 특히 setuptools는 다음을 제공하는 distutils의 향상된 대안입니다.
보시다시피, 대부분의 Python 사용자는 고급 setuptools 모듈을 사용하게 됩니다. 문서에는 아래에 나열된 몇 가지 setuptools 장점이 있지만 여기에는 게시하지 않겠습니다.
setuptools
그럼 Pycharm는 왜 distutils을 사용하는 걸까요? setuptools가 더 강력하다는 뜻 아닌가요?
Pycharm
이유는 간단합니다. distutils은 Python 표준 모듈이고 setuptools은 타사 모듈입니다. 그리고 Pycharm setuptools을 설치하셨는지 모르겠네요. 불필요한 문제를 피하기 위해서는 당연히 표준 모듈을 사용해야 합니다.
그럼 setuptools.setup이 무엇인지 살펴보겠습니다. setuptools/__init__.py에는
setuptools.setup
setuptools/__init__.py
그렇습니다.
공식 문서 읽는 법 배우기,
distutils
소개(distutils - python2):즉, 전체
distutils
패키지가Python
확장 모듈용 설치 프로그램을 생성하는 역할을 담당합니다.그 다음 문서의 두 번째 단락:
보시다시피, 대부분의
Python
사용자는 고급setuptools
모듈을 사용하게 됩니다. 문서에는 아래에 나열된 몇 가지setuptools
장점이 있지만 여기에는 게시하지 않겠습니다.그럼
Pycharm
는 왜distutils
을 사용하는 걸까요?setuptools
가 더 강력하다는 뜻 아닌가요?이유는 간단합니다.
distutils
은Python
표준 모듈이고setuptools
은 타사 모듈입니다. 그리고Pycharm
setuptools
을 설치하셨는지 모르겠네요. 불필요한 문제를 피하기 위해서는 당연히 표준 모듈을 사용해야 합니다.그럼
라는 문장이 있습니다. 으아악setuptools.setup
이 무엇인지 살펴보겠습니다.setuptools/__init__.py
에는그렇습니다.