NumPy 的 setup.py 导入它尝试安装的相同软件包



通过查看NumPy的setup.py,我注意到在某个时刻它包含了NumPy子模块numpy.distutils中的一些内容。

from numpy.distutils.core import numpy_cmdclass

我真的看不出这是怎么回事,因为numpy.distutils——我认为——应该是它试图安装的同一个包的一部分。如果一个软件包的安装依赖于它自己,那不是很好吗?这背后的工作原理是什么?为什么这样做?

我注意到它做了完全相同的事情,但来自实际上是包的一部分的文件。在第二种情况下,使用相对进口不是更好吗?

这只是Python的常规导入机制。模块搜索路径中的第一个目录是";包含输入脚本的目录";,此处为CCD_ 4。包的搜索方式与模块相同。

因此,当执行setup.py时,它会在自己的目录中找到numpy文件夹。该文件夹包含一个名为__init__.py的文件,该文件将其标记为常规包。然后,模块加载器继续查找子包distutils(它已被出售,因此不需要已经安装(和模块core.py

相关内容

  • 没有找到相关文章

最新更新