我有一个python项目pypypy,有2个文件:__main__.py
和foo.py
。__main__.py
我只是通过import foo
导入。一切正常。
现在,我想用 pypi 分发它。安装我的模块后,我正在用python -m pypypy
执行它。当我这样做时,导入语句不再起作用。然而,import pypypy.foo
可以完成这项工作。
我应该在分发之前更改所有进口产品还是有更好的方法?
强烈建议使用绝对导入,因为它们在不同的 python 版本中一致地工作。检查此答案。在您的情况下,您应该更喜欢使用import pypypy.foo
.
它在你的开发环境中工作的原因可能是因为PYTHONPATH操作。例如,Pycharm 会自动将添加内容和源根目录设置为 PYTHONPATH。同样,当你运行python时,它会自动将当前工作目录添加到PYTHONPATH。