Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.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 PyDev Eclipse中自定义类的奇怪导入错误_Python_Eclipse_Import_Pydev - Fatal编程技术网

Python PyDev Eclipse中自定义类的奇怪导入错误

Python PyDev Eclipse中自定义类的奇怪导入错误,python,eclipse,import,pydev,Python,Eclipse,Import,Pydev,大家好,我正在尝试使用Eclipse和PyDev用python编写一个程序。我的项目结构如下: “Root”、“GeneralClasses”和“UserClasses”是包含名为“FileA”、“FileB”和“FileC”的python模块的三个目录,很明显有三个名为“ClassA”、“ClassB”和“ClassC”的类 我试图在“FileC”中导入“ClassA”,但出现导入错误。我尝试了多种方法: 导入ClassA 从文件A导入ClassA 从文件导入* 来自GeneralClass

大家好,我正在尝试使用Eclipse和PyDev用python编写一个程序。我的项目结构如下:

“Root”、“GeneralClasses”和“UserClasses”是包含名为“FileA”、“FileB”和“FileC”的python模块的三个目录,很明显有三个名为“ClassA”、“ClassB”和“ClassC”的类

我试图在“FileC”中导入“ClassA”,但出现导入错误。我尝试了多种方法:

  • 导入ClassA
  • 从文件A导入ClassA
  • 从文件导入*
  • 来自GeneralClasses.FileA导入类a
  • 从GeneralClasses.FileA导入*
  • 来自Root.GeneralClasses.FileA导入类a
  • 从Root.GeneralClasses.FileA导入*

  • 他们都给了我同样的错误。我不知道如何解决这个问题。非常感谢您的帮助。

    我重新创建了您的场景,但遇到了相同的问题。 也许你做了和我一样的事,把你自己的根文件夹放好了?(我怀疑这是因为PyDev称之为src。) 您需要将src文件夹添加到python路径中,PyDev可以方便地为您这样做。您所需要做的就是:
    File>new>other>PyDev>sourcefolder

    更多信息请点击此处

    将这些文件放在src目录中,导入应该可以正常工作


    祝你好运

    您是否在Eclipse中使用PyDev视图


    如果您在另一个视图中编辑Python代码,上下文菜单中有一个选项可以创建一个新的“文件夹”,而不是“Python包”。对于文件夹,Eclipse不会自动生成init.py文件。因此,python解释器不会将文件夹视为子包。

    我应该补充一点,IDE可以检测所有类。我在他们的名字上使用“ctrl+click”,这会引导我找到正确的位置。此外,我在所有类的所有文件中都有导入问题;看来IDE的设置有问题,代码做得很好。它给了你什么错误?谢谢@Robin,我将所有子文件夹添加到python路径,现在我可以通过导入它们的文件来访问所有类;像导入FileA然后使用
    FileA.ClassA
    。这很好,但请尝试让pydev仅将根(即src)文件夹添加到路径中。然后,所有子目录也将搜索导入。简单多了,我试过了。事实上,当我遇到问题时,它就在那里。添加子文件夹解决了这个问题。