Python在运行程序时获取ModuleNotFoundError,但可以在Python环境中导入模块

Python在运行程序时获取ModuleNotFoundError,但可以在Python环境中导入模块,python,modulenotfounderror,Python,Modulenotfounderror,我在导入自己的包时遇到问题。我在一个虚拟的环境中。我得到的错误如下所示 File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>&q

我在导入自己的包时遇到问题。我在一个虚拟的环境中。我得到的错误如下所示

File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'my_package.test'

我不知道这里发生了什么事。希望有人能帮我。提前感谢。

通常这意味着你相信你在使用同一个口译员,而事实上你并没有。在脚本的顶部,复制shebang行中的内容并按原样运行

换句话说,如果它读到

#!/usr/bin/env python
然后运行此命令,而不是您用来调用解释器的命令

/usr/bin/env python

我敢打赌,您将无法在该解释器中导入。

确保您的模块位于您的文件可访问的区域(即同一文件夹)。还要确保没有重复的文件

您的意思是我可能会使用不同版本的python吗?我的剧本里没有舍邦的台词。它运行在一个由poetry管理的虚拟环境中,python是3.7.5。好的,我没有从你的问题中得到上下文,我也没有使用poetry。你可以考虑使上下文更加明确。不过,问题可能源于路径不同,或者python可执行文件不同。对不起,我帮不上忙。我检查过了,我有模块的init.py,没有重复的文件。
/usr/bin/env python