common/src/validation/file1.py
在common / src / validation /和common / src /文件夹中" _init _ "是定义。
common/test/validation/file2.py
common/test/validation/case/file3.py
在file2.py和file3.py中,我想从file1.py导入类。
我在file2.py和file3.py。中提供以下行:
from file1 import class1
我目前收到错误:
#ImportError: No module named file1
sys.path.append应该是什么?
答案 0 :(得分:0)
你基本上只需将PYTHONPATH改为common
并从那里开始运行。然后引用与之相关的所有导入路径。
喜欢这样:(假设你是共同的,你的主要是在file3.py)
PYTHONPATH=. python test/validation/case/file3.py
确保您导入的任何目录中都有__init__.py
个文件(此文件的内容并不重要)
我通常喜欢在每个项目的根目录中放入一个run.sh
文件,其中包含该行的某个版本(指向我的主函数所在的任何位置)。
它通常包含类似的简单内容:
#!/bin/bash
source some_env/bin/activate # start the relevant environment if you have one
PYTHONPATH=. python src/main.py # set PYTHONPATH and run
deactivate # exit the relevant environment if started one
另一种选择是做this,但不是那么优雅。
答案 1 :(得分:0)
如果要从文件夹导入文件,则应该有一个名为
的文件__init__.py
在该文件夹中(它也可能是一个空白文件)。