Skip to main content
 首页 » 编程设计

python之如何解决 python 中的导入错误

2025年05月04日15落叶

我有一个特定的问题,可能需要一个通用的解决方案。我目前正在学习 apache thrift。我用了this指南。我遵循了所有步骤,但出现导入错误,因为无法导入模块 UserManager。所以问题是
python 导入查找是如何发生的。 首先检查哪个目录。它是如何向上移动的?
sys.path.append('') 是如何工作的?

我找到了这个 here 的答案.我遵循了相同的步骤。但我仍然面临同样的问题。任何想法为什么?我应该提出的更多内容可以帮助调试你们。 ?

感谢您的帮助。

请您参考如下方法:

在 Windows 上,Python 从默认 python 路径中的 Lib 文件夹中查找模块,例如从“C:\Python34\Lib\”。您可以将 Python 库添加到自定义文件夹(“my-lib”或 sth.)中,但您需要一个文件来告诉 Python 您可以从那里导入。这个文件叫做 __init__.py ,完全是空的。该数据结构应如下所示:

我的库

  • __init__.py
  • /我的文件夹
  • 我的模块.py

    (这是每个 Python 模块的工作方式。例如 urllib.request,它位于“%PYTHONPATH%\Lib\urllib\request.py”)

    您可以通过键入从“mymodule.py”文件导入

    import my-lib 
    

    然后使用

    mylib.mymodule.myfunction 
    

    或者你可以使用

    from my-lib import mymodule 
    

    然后只使用您的函数名称。

    您现在可以使用 sys.path.append 将您传递到函数中的路径附加到 Python 查找模块的文件夹中(请注意,这不是永久性的)。如果您的模块路径应该是静态的,您应该考虑将它们放在 Lib 文件夹中。如果该路径是相对于您的文件的,您可以查找您从中执行的文件的路径,然后将 sys.path 附加到您的文件,但我建议使用相对导入。

    如果您考虑这样做,我建议您阅读文档,您可以在这里这样做:https://docs.python.org/3/reference/import.html#submodules