Python3导入函数
我以前成功导入过函数,但下面的内容让我感到困惑。也许,我只是对用python导入不太了解(我已经在自己的机器(Mac)上测试了以下原理,发现它是可行的。我只使用print语句创建fome函数,并以完全相同的方式调用它们。) 我正在运行一个脚本(train.py),该脚本从/src/models/models.py中的文件导入函数。使用src.models.models import中的Python3导入函数,python,python-3.x,Python,Python 3.x,我以前成功导入过函数,但下面的内容让我感到困惑。也许,我只是对用python导入不太了解(我已经在自己的机器(Mac)上测试了以下原理,发现它是可行的。我只使用print语句创建fome函数,并以完全相同的方式调用它们。) 我正在运行一个脚本(train.py),该脚本从/src/models/models.py中的文件导入函数。使用src.models.models import中的*/src和train.py位于同一目录中 但是,每次运行python train.py时,我都会得到Modul
*
/src和train.py位于同一目录中
但是,每次运行python train.py
时,我都会得到ModuleNotFoundError:没有名为“src”的模块
(脚本的来源)
同样的目录层次结构和语法也适用于我自己的计算机(同样,我使用了一些简单的函数和打印语句)。我在linux远程设备上运行train.py,在两台机器上都使用Python 3。有什么想法吗?谢谢 使用相对导入:
from models.models import *
JFYI:使用
import*
不是一个好的做法。您的src/
文件夹是否包含\uuuuuuuuuuuuuuuuuuuuuupy
文件?@GrandPhuba是的,在/src目录中有一个init.py。父目录/当前目录如何?@GrandPhuba/parent目录没有\uuuuuuuuuuuuuuuuuuuuupy.py
文件。我得到了“没有名为'main.models'的模块:'main'不是一个包。请在不使用models.models import*中的尾随点的情况下尝试它,因为该点有效!”!为什么绝对导入不起作用,而相对导入起作用?我很想知道你是否已经弄明白了。谢谢退房