包目录的空字符串键在中起什么作用设置.py?

2024-04-25 00:04:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个setup.py文件如下所示:

import setuptools

from distgradle import GradleDistribution

setuptools.setup(
  distclass=GradleDistribution,
  package_dir={'': 'src'},
  packages=setuptools.find_packages('src'),
  include_package_data=True,
  namespace_packages=['foo'],
  entry_points={
    'console_scripts': [
      'first = foo.something.first:main',
      'second = foo.somethingelse.second:main',
    ],
  },
)

package_dir={'': 'src'}的意义是什么?为什么我们要用一个空字符串作为键?你知道吗


Tags: 文件frompyimportsrcpackagefoomain
1条回答
网友
1楼 · 发布于 2024-04-25 00:04:41

如果在根级别有多个目录,并且模块位于一个目录下,则可以将该目录定义为根包,然后提供给packages命名参数的所有包都将在该目录中查找。Python的官方文档对此进行了很好的描述:

https://docs.python.org/2/distutils/setupscript.html#listing-whole-packages

这里,如果代码驻留在lib目录下,那么定义package_dir = {'': 'lib'}&;packages = ['foo']意味着您告诉系统在lib下寻找foo模块,即lib/foo/__init__.py存在。你知道吗

相关问题 更多 >