【发布时间】:2018-02-21 11:11:44
【问题描述】:
我经常在 PyCharm 中使用键盘快捷键“跳转到声明”。我希望我的项目结构能够方便地支持在多个文件夹/目录中拥有源代码文件。不幸的是,当尝试跳转到另一个目录中存在的函数调用时,“跳转到声明”似乎失败了。有没有办法解决这个问题或教它跳到哪里?尽管这些目录在同一个项目中,但它似乎没有索引/搜索嵌套目录。所以我不得不将我所有的源代码保存在同一个目录中,这样我就可以在 PyCharm 中有一个有效的“跳转到声明”......
我正在通过此解决方案从其他文件夹导入文件: Importing files from different folder
# some_file.py
import sys
sys.path.insert(0, '/path/to/application/app/folder')
import file
但是当我尝试通过 file.function() 的键盘快捷键“跳转到声明”时,它失败了,因为它不在我所在的当前文件的同一目录中。
编辑:
所以我创建了@Code-Apprentice 建议的结构。
然后我添加了@Lukasz 建议的 __init__.py 并且它起作用了:
现在回到我的另一个项目,__init__.py 似乎不起作用。让我修补一下,看看有什么区别。
编辑2:
有趣,所以如果将相同的文件 bar.py 添加到包含 __init__.py 文件的原始项目的子文件夹中,我无法跳转到那里的声明。所以这个项目或者PyCharm对我的项目的解释肯定有问题。这是一个大项目,也许有什么东西把它扔掉了。
编辑3:
最后一个问题是我的一个愚蠢的错误。谢谢大家!
【问题讨论】:
-
能否给出完整的代码示例?我经常使用 Ctrl+B 跳转到 python 源文件中的声明,无论声明相对于当前源位于哪个目录。
-
不客气!;]