未导入Python模块更改

时间:2013-08-07 11:39:42

标签: python import module

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

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

将main2 I cd运行到subproject/目录并运行

PYTHONPATH=../.. main2.py

在main2中我试图使用我写入main1的新函数,但是我得到了一个

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

导入后运行dir(main1)表明我添加的所有功能都不存在于模块中;我注释掉整个文件并尝试导入它,但dir(main1)显示了所有旧的顶级声明,但没有删除它们。这让我觉得这是一个缓存问题,即使我已经清除了我能找到的任何*.pyc个文件。

1 个答案:

答案 0 :(得分:0)

我已经安装了main1项目,所以尽管我已经将我的PYTHONPATH设置为包含当前版本的main1项目,但已安装的版本是导入的内容,因此影响了我对代码所做的更新。 / p>

感谢Martijn Pieters指示我使用print main1.__file__来查看main1模块导入的实际文件。