我试图了解我的问题在哪里。 这是我的项目
└── test_folder
|___ __init__.py
├── foled_1
│ ├── __init__.py
│ └── file_1.py
└── foled_2
├── __init__.py
├── file_2.py
当我尝试从PyCharm运行file_1.py脚本时,一切对我来说都很完美。 但是,当我尝试通过终端(python3 file_1.py)运行此文件时,出现了错误:
Traceback (most recent call last):
File "file_1.py", line 1, in <module>
from foled_2.file_2 import a
ModuleNotFoundError: No module named 'foled_2'
file_1.py的脚本为:
from foled_2.file_2 import a
print(a)
print("Hello")
file_2.py的脚本为:
a = 2
答案 0 :(得分:0)
如果您从python foled_1/file_1.py
之类的测试文件夹中运行文件,它将起作用。
为什么这不起作用?
这是因为在pycharm中,您已将test_folder定义为基础项目folder.so 每当您运行脚本时,它将从该文件夹运行,即它将终端当前路径作为该基本文件夹。
在代码中您还提到了需要foled_2
,因为您处于foled_1路径中并在其中运行脚本,因此python无法找到foled_2
文件夹/软件包。
解决方案
因此,如果要运行脚本,请从终端的testfolder中运行它。
python foled_1/file_1.py