Python;不能从其他目录导入模块



我试图在python上分解我的程序。我已经读了很多关于import如何工作的信息和其他答案,但仍然不能确切地理解。

我想使用我的模块Graph.Graph2DInteractiveGraph2D中实现。在导入它之前,我给这个模块添加了path。但是它告诉NameError: name 'Graph2D' is not defined

项目路径:

~/MyData/Python/Pygame/RoadSearchAlgorithm/src

模块路径:

~/MyData/Python/Pygame/MY_MODULES/图

代码:

# ~/MyData/Python/Pygame/RoadSearchAlgorithm/src/Graph_package/InteractiveGraph2D.py
...
sys.path.append('./')
sys.path.append('/home/rayxxx/MyData/Python/MY_MODULES')
try:
from Graph.Graph2D import Graph2D, ...
...
except Exception as e:
assert (e)
class InteractiveGraph2D(Graph2D):
...

有什么问题吗?

我试着看路径,导入模块的列表。其中呈现的图形模块

您说模块路径是~/MyData/Python/Pygame/MY_MODULES/Graph,而在python代码中您将字符串'/home/rayxxx/MyData/Python/MY_MODULES'添加到os.path中。也许关键在于

您应该通过将setup.py文件添加到它的目录(doc)来使Graph模块可安装。然后你可以用pip安装它,像导入任何库一样导入它。

这是一个常见的错误,当你运行python脚本时,它会查看你运行脚本的目录所以当你运行

时,有四种情况
from Graph.Graph2D import Graph2D, ...

~/MyData/Python/Pygame/RoadSearchAlgorithm/src

Python最多可以从src中导入。

一些解决方案,通过在MY_MODULE中添加设置,然后执行pip安装,使您的模块可安装。在该文件夹中,这里有一个如何设置的示例。也许你需要添加一个init我需要init吗?py

另一个解决方案是将MY_MODULES/添加到python路径,如果可能的话避免这样做,但这里有一个例子添加到python路径。

相关内容

  • 没有找到相关文章

最新更新