[英]python Import module from a different directory structure
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应该是什么?
您基本上可以将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
另一个选择是执行此操作,但并不那么优雅。
如果要从文件夹导入文件,则应有一个名为
__init__.py
在该文件夹中(也可以是空白文件)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.