我有一个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
个文件。
答案 0 :(得分:0)
我已经安装了main1项目,所以尽管我已经将我的PYTHONPATH设置为包含当前版本的main1项目,但已安装的版本是导入的内容,因此影响了我对代码所做的更新。 / p>
感谢Martijn Pieters指示我使用print main1.__file__
来查看main1模块导入的实际文件。