您正在像脚本一样运行foo.py,但实际上却像模块一样在使用它。因此,正确的解决方案是将其作为模块运行:
python3 -m somepackage.foo
作为记录,另一种选择是编辑路径,例如:
export PYTHonPATH=.
(或者,您可以在其中放置绝对目录,当然,您应该附加PYTHONPATH中已经存在的任何其他目录。)这与PyCharm的功能较为接近,但从哲学上讲不太正确。

您正在像脚本一样运行foo.py,但实际上却像模块一样在使用它。因此,正确的解决方案是将其作为模块运行:
python3 -m somepackage.foo
作为记录,另一种选择是编辑路径,例如:
export PYTHonPATH=.
(或者,您可以在其中放置绝对目录,当然,您应该附加PYTHONPATH中已经存在的任何其他目录。)这与PyCharm的功能较为接近,但从哲学上讲不太正确。