根据一些答案,我试图更具体一些。我想在我的main中导入打印、模型和代码。派克
我知道这个问题被问了很多,但是我仍然不知道我的代码有什么问题!我有一个这样的项目目录
-project
--__init__py
--main.py
--print.py
--requests
--__init__.py
--models.py
--code.py
我想导入从print.py和*从请求因此,我试图添加这些行在main.py
from . import print
#or
import print
#for requests I tried
import os.path
import sys
sys.path.append('./requests')
from requests import *
所有这些行都会导致相同的导入,即在没有已知父项的情况下尝试相对导入,
使用Python 39有人知道问题出在哪里吗?我很困惑,这似乎不起作用,在旧版本中可能吗?
您的主文件应该在项目目录之外,以便将其用作包。然后,从您的主文件中,您可以使用from导入project.print导入...
。
在项目包内,可以进行相对导入。
您绝对不应该使用sys执行任何操作。路径
。如果您使用的是正确的Python包结构,那么导入系统应该像这样处理所有事情。
根据您描述的目录结构,project
将是您的包的名称。因此,当在一些外部代码中使用包时
import package
或者使用子模块/子包
import project.print
import project.requests
等等。
对于包内的模块,可以使用相对导入。当你写作时
我想从打印导入。py和*来自请求,因此我尝试了
不清楚从哪里导入它们,因为这对于相对导入很重要。
例如,在project/main中。py
要导入打印
模块,您可以使用:
from . import print
但是如果它来自项目/请求/代码。py
您将使用
from .. import print
顺便说一句,“print”可能不是模块的好名字,因为如果导入print模块,它将隐藏print()
内置函数。
我正在学习使用python编程,并且我在从包中的模块导入时遇到问题。我正在使用Python 3.8.2 64位的Visual Studio代码。 我的项目目录 在电子商务/产品中。py我拥有的文件: 这样我就可以从电子商务/数据库导入数据库类。py文件。但我有个错误
我正在学习用python编程,我在从包中的模块导入时遇到了问题。我使用的是Visual studio代码和Python 3.8.2 64位。 我的项目目录 在<code>电子商务/产品中。py文件我有: 这样我就可以从< code > ecommerce/Database . py 文件中导入< code>Database类。但是我出错了
我有以下目录结构: 火车和实用工具都有 init.py。我正在尝试从火车/主要内部导入utils.logger.py: 但它给出了“未知的父包错误”: 文件"训练/main.py",第4行,从...utils.logger导入记录器重要性错误:尝试相对导入没有已知的父包
我一直在努力与Python上的相对导入。 我的项目结构是这样的: 我想先将一组函数从位于
我正在学习fastapi。我有这样一个非常简单的项目结构 内部
因此,我的文件/文件夹结构如下: 在内部,我试图使用以下语法导入:。 我使用的是VSCode,当我键入模块路径时,它甚至会自动完成。但是当我运行文件时,标题中出现了错误。 我在这里读了几十个关于堆栈溢出的答案,但是没有一个使用这样的例子。