在同一文件夹中导入Python文件时导入错误

在同一文件夹中导入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

我在使用Pycharm的Python3项目中工作,导入文件时遇到问题。这是我的项目结构:

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