Pycharm 与x27之间的差异;目录';和';Python包';魅力四射

Pycharm 与x27之间的差异;目录';和';Python包';魅力四射,pycharm,python-packaging,Pycharm,Python Packaging,何时在Python包上使用目录?PS:我知道我可以从后者进口,但不能从前者进口。如果是这样,为什么不将所有内容都创建为Python包呢 此外,PyCharm是否根据其名称将位置标记为一个位置或另一个位置?这种行为背后的模式是什么? 例如,我创建了一个目录并将其命名为“lambda”。但当我将它重命名为“lambdas”时,pycharm自动将其更改为Python包(带有点符号的公文包)。Python关键字 何时在Python包上使用目录 当您想在其中放置一些应该是可导入的模块时,可以使用“Pyt

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

    当您想在其中放置一些应该是可导入的模块时,可以使用“Python包”。PyCharm将自动为目录创建一个
    \uuuuu init\uuuuu.py

    为什么不把所有东西都创建为Python包呢

    并非项目中的每个子目录都必须是一个包。例如,
    docs
    tests
    通常只是目录

    PyCharm是否根据其名称将位置标记为一个位置或另一个位置

    PyCharm似乎在子目录名中用点标记图标,而不管子目录是否为包。这可能是因为,在Python3.3+中,subdir也是(即使没有
    \uuuu init\uuuu.py
    文件,它们仍然是可导入的)


    如果您有一个与Python2.7解释器关联的项目,那么除非添加了
    \uuuu init\uuuu.py
    文件,否则图标上不会有点,因为隐式名称空间包在Python2中是不存在的。

    谢谢。为了澄清这一点,在Python3.3+中,PyCharm用点标记子目录(只要它是“标识符”)。这是否意味着在这种情况下每个细分曲面都是重要的?如果是这样的话,我如何像你提到的那样取消测试和文档的标记呢?是的,这意味着每个子目录都是可导入的。我不知道如何在PyCharm中取消标记,可能您不能。从services.StockAnalyzer导入StockReport服务是否有init.py我可以用这种方式导入。您能解释一下,如果我有init文件或没有init文件,我会有什么样的约束吗?我不理解区别