PyCharm中“ Directory”和“ Python Package”之间的区别

时间:2019-08-01 22:14:12

标签: pycharm python-packaging

Denter image description here

  1. 何时在Python软件包上使用Directory? PS:我知道我可以从后者导入,但不能从后者导入。如果是这样,为什么不将所有内容都创建为Python包?
  2. PyCharm是否根据其名称将一个位置标记为一个位置?这种行为背后的模式是什么? 例如,我创建了一个目录并将其命名为“ lambda”。但是,当我将其重命名为“ lambdas”时,pycharm会自动将其更改为Python Package(带点符号的公文包)。 Python关键字?

1 个答案:

答案 0 :(得分:3)

  

何时在Python软件包上使用Directory?

当您要将一些可导入的模块放入其中时,可以使用“ Python软件包”。 PyCharm将自动为目录创建一个__init__.py

  

为什么不将所有内容都创建为Python包?

并非项目中的每个子目录都必须是程序包。例如docstests通常只是目录。

  

PyCharm是否根据位置名称将一个位置标记为一个位置?

如果子目录名称为is a valid identifier and not a keyword,PyCharm似乎用点标记该图标,而不管子目录是否为软件包。这可能是因为,在Python 3.3+中,子目录也为implicit namespace packages(即使没有__init__.py文件,它们仍然可以导入)。

如果您有一个与Python 2.7解释器相关联的项目,除非添加了__init__.py文件,否则您不会在图标上看到点,因为隐式名称空间包在Python 2中并不重要。 >