Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在PyCharm中导航到另一个文件中的基类定义?_Python_Pycharm - Fatal编程技术网

Python 如何在PyCharm中导航到另一个文件中的基类定义?

Python 如何在PyCharm中导航到另一个文件中的基类定义?,python,pycharm,Python,Pycharm,我在PyCharm编辑器中有一个项目,其中基类和子类在单独的文件中实现。在子类中,我正在访问一个在基类中实现的函数 Pycharm有一个键盘快捷键“Ctrl+Alt+B”,用于执行按下快捷键时高亮显示的方法。但是,我无法导航到其他文件中的任何实现。我只能选择在同一个文件中实现的方法。我还尝试了其他选项,包括导航到super方法或导航到声明,只是为了查看是否有其他命令可以导航到其他文件,但它们似乎都无效 除了在PyCharm中包含同一项目中的文件之外,我还需要做些什么来实现这一点?例如,我以前是否

我在PyCharm编辑器中有一个项目,其中基类和子类在单独的文件中实现。在子类中,我正在访问一个在基类中实现的函数

Pycharm有一个键盘快捷键“Ctrl+Alt+B”,用于执行按下快捷键时高亮显示的方法。但是,我无法导航到其他文件中的任何实现。我只能选择在同一个文件中实现的方法。我还尝试了其他选项,包括导航到super方法或导航到声明,只是为了查看是否有其他命令可以导航到其他文件,但它们似乎都无效

除了在PyCharm中包含同一项目中的文件之外,我还需要做些什么来实现这一点?例如,我以前是否需要做任何类型的索引,以便PyCharm能够识别不同文件的实现

以下是Dan发表评论后的更多细节: 项目结构很简单:

项目目录

  • Dir1
  • Dir2
在Dir1内

  • 文件1
  • 文件2
Withi Dir2

  • 文件3
  • 文件4
就这个问题而言,File1可以被视为基类,file3可以被视为子类。当我在pycharm中的File3中,并且它们位于调用file1中实现的函数的位置时,我无法导航到file1中的该函数

事实上,即使没有类继承关系,我也无法导航到除光标所在的当前文件之外的文件中实现的任何函数。例如,如果我正在调用File3中的函数,并且该函数位于File4中的同一目录中,则无法导航到该函数


这有点令人惊讶,因为基本的另一个IDE端可能在我的设置中有一些问题,但我不知道该怎么做。希望有了这些信息,至少有人能为我指明进一步调查的方向。我正在使用pycharm社区版

经过几天的搜索,我终于找到了这个难题的答案。 当我导入基类模块时,我是这样导入的:

sys.path.insert(0, r"<relative path to base class>")
import base_class
在dir2/file2中(它是子类)
pycharm能够导航到基类。我希望它能帮助别人。我花了三个星期才弄明白。但我不是一个很聪明的人,其他人可以借助此答案或自己解决问题

,除了将同一项目中的文件包含在PyCharm中之外
-您能描述一下您的项目目录结构以及与之相关的各个文件的位置吗?您好t谢谢您的及时回复。我已经用目录结构更新了这个问题。正如你所看到的,它并不复杂。你好,我不知道为什么它被标记为-1。这不是一个正确的问题吗?我还没有找到答案。嗯,你所描述的应该很有效。你能提供一份工作吗?真的很感谢你的支持。让我想想如何创建mcve。既然您认为该设置应该有效,那么让我再研究一下,然后我将了解如何创建mcve。再次感谢。
import dir1.file1