在同一文件夹中导入Python文件时导入错误
我在使用Pycharm的Python3项目中工作,导入文件时遇到问题。这是我的项目结构:在同一文件夹中导入Python文件时导入错误,python,python-3.x,Python,Python 3.x,我在使用Pycharm的Python3项目中工作,导入文件时遇到问题。这是我的项目结构: twixer |----- docs |----- twixer |----- __init__.py |----- config.ini |----- facepp.py |----- twixer.py |----- setup.py 在twixer.py中,我有下一行: import twixer.f
twixer
|----- docs
|----- twixer
|----- __init__.py
|----- config.ini
|----- facepp.py
|----- twixer.py
|----- setup.py
在twixer.py中,我有下一行:
import twixer.facepp
但当我运行项目时,该行会抛出以下错误:
Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 2218, in _find_and_load_unlocked
AttributeError: 'module' object has no attribute '__path__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:/Users/David/PycharmProjects/twixer-py/twixer/twixer.py", line 2, in <module>
import twixer.facepp
File "D:\Users\David\PycharmProjects\twixer-py\twixer\twixer.py", line 2, in <module>
import twixer.facepp
ImportError: No module named 'twixer.facepp'; 'twixer' is not a package
回溯(最近一次呼叫最后一次):
文件“”,第2218行,在“查找”和“加载”中解锁
AttributeError:“模块”对象没有属性“\u_路径”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“D:/Users/David/PycharmProjects/twixer py/twixer/twixer.py”,第2行,在
导入twixer.facepp
文件“D:\Users\David\PycharmProjects\twixer py\twixer\twixer.py”,第2行,在
导入twixer.facepp
导入错误:没有名为“twixer.facepp”的模块twixer不是一个包
我不知道如何解决这个问题。我试图改变导入文件的方式,但运气不好。有什么问题?如何修复它?如果用答案回答它,这太长了,所以请发到这里,我不知道它是否适合你,请提供一些想法。 我也有类似的问题,我通过在python路径中添加模块来解决它
hello-world
|----- helpers
|----- __init__.py
|----- helper.py
|----- sdp_helper.py
|----- say-hello
|----- __init__.py
|----- say_hello.py
当我在控制台上使用脚本时:
sys.path.insert(0, "/home/haifzhan/hello-world/helpers")
import helper
import sdp_helper
当我在Pycharm中使用模块时,上述导入不起作用,因此我使用:
from hello-world.helpers import helper
from hello-world.helpers import sdp_helper
基于对错误的回溯,我认为您的问题可能是您的模块和包具有相同的名称,因此当您尝试导入twixer.facepp时,Python使用了它的“面对歧义拒绝猜测的诱惑” Python避免猜测您是要导入模块twixer还是要导入包twixer,因此它会为您纠正错误 您也可以通过使用,即
我希望这有帮助;) 我犯了同样的初学者错误,在控制台中执行代码,而不是运行它(右键单击文件并选择“
Run'\uyour\upython\u file”
”)
希望这能帮助其他初学者。导入faceapp不会做这项工作吗?这是我尝试的第一件事,但Pycharm显示了这个错误:没有名为facepp的模块。@Pavolc不确定会发生什么,但我将根文件夹重命名为“twixer py”并返回到“twixer”,现在导入facepp工作,但是Pycharm仍然在编辑器上显示相同的错误。如何运行该项目?您是否使用setup.py安装了它?@pacholik右键单击twixer.py并运行。仅此而已。但问题是,
faceapp.py
和twixer.py
在同一个文件夹中。您应该能够从同一文件夹导入.py文件
from . import facepp