【问题标题】:Best way of fixing relative path issue in python在python中修复相对路径问题的最佳方法
【发布时间】:2020-01-28 03:37:41
【问题描述】:

我有这样的文件夹结构

root_folder
    package1
        __init__.py
        file1.py
    package2
        __init__.py
        file2.py

file1.py

def test1():
    print("in test1")

file2.py

from package1 import file1
def test2():
        print("in test2")

当我从 root_folder 运行 file2 时,我收到此错误:

python3 package2/file2.py

ModuleNotFoundError: No module named 'file1'

当我导出python 路径时,它工作正常。

PYTHONPATH="/Users/me/root_folder:$PYTHONPATH"
export PYTHONPATH

我来自java 背景。我想知道这是正确的方法吗?在python 中修复相对路径问题的最佳方法是什么?

【问题讨论】:

    标签: python python-3.x python-import python-module python-packaging


    【解决方案1】:

    尝试只导入 package1 而不是从 package1 导入 file1。

    我不是 Python 天才,我只是中级水平。但这就是我接下来要尝试的。

    【讨论】:

    • 导入 package1 时出现此错误 - ModuleNotFoundError: No module named 'package1'
    【解决方案2】:

    使用“。”包1之前。它的意思是“向上目录”。

    from .package1 import file1
    def test2():
            print("in test2")
    

    【讨论】:

    • 现在出现此错误 - ModuleNotFoundError: No module named 'main.package1'; 'main' 不是包
    猜你喜欢
    • 2014-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多