用pycharm自动生成的setup文件,使用的是distutils.core里的setup
from distutils.core import setup
但我看很多人写的setup,用的是setuptools
from setuptools import setup, find_packages
这个distutils和setuptools分别是什么背景,怎么同样功能出现两个包呢?
用pycharm自动生成的setup文件,使用的是distutils.core里的setup
from distutils.core import setup
但我看很多人写的setup,用的是setuptools
from setuptools import setup, find_packages
这个distutils和setuptools分别是什么背景,怎么同样功能出现两个包呢?
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答895 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
学会看官方文档,
distutils
的介绍(distutils - python2):也就是说,整个
distutils
包就是负责建立Python
扩展模块的安装器用的。然后是文档的第二段:
看见了吧,大部分
Python
用户会使用更先进的setuptools
模块,然后文档下面列了几点setuptools
的优点,这里就不贴出来了。那么为什么
Pycharm
会用distutils
呢?不是说setuptools
更强大么?原因很简单:
distutils
是Python
标准模块,setuptools
是第三方模块。而Pycharm
不知道你是否安装了setuptools
,为避免不必要的麻烦,当然要用标准模块了。然后我们看一下
setuptools.setup
到底是个什么东西,在setuptools/__init__.py
中有这么一句:就是这样。