未导入Python模块更改

2024-05-19 00:01:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python子项目引用了更高目录中的模块:

/
    misc/
        subproject/
            main2.py
    project/
        __init__.py
        main1.py

运行main2 I cdsubproject/目录并运行

PYTHONPATH=../.. main2.py

在main2中,我尝试使用我已经编写到main1中的新函数,但是我得到了一个

AttributeError ('module' object has no attribute 'function name').

导入后运行dir(main1)会显示模块中没有我添加的函数;我注释掉了整个文件并尝试导入它,但是dir(main1)显示了所有旧的顶级声明,没有一个被删除。这让我觉得这是一个缓存问题,尽管我已经清除了所有可以找到的*.pyc文件。你知道吗


Tags: 模块文件函数py目录projectinitdir
1条回答
网友
1楼 · 发布于 2024-05-19 00:01:33

我已经安装了main1项目,所以即使我已经将PYTHONPATH设置为包含main1项目的当前版本,但安装的版本就是导入的版本,因此我对代码进行的更新也会受到影响。你知道吗

感谢Martijn Pieters告诉我使用print main1.__file__查看main1模块从哪个实际文件导入。你知道吗

相关问题 更多 >

    热门问题