Python 使用PyTest时是否从父目录导入文件?
我正在使用PyTest,但它似乎无法运行我的导入语句 我的目录结构如下所示:Python 使用PyTest时是否从父目录导入文件?,python,pytest,Python,Pytest,我正在使用PyTest,但它似乎无法运行我的导入语句 我的目录结构如下所示: -[app] -script1.py -[tests] -test1.py 我的test1.py文件包括以下行: from script1 import my_func 当我从命令行运行pytest时,我得到了一个错误,比如ModuleNotFoundError:No module name script1 我尝试将此语句添加到上面的目录中,但无效: import os os.chdir('..')
-[app]
-script1.py
-[tests]
-test1.py
我的test1.py
文件包括以下行:
from script1 import my_func
当我从命令行运行pytest时,我得到了一个错误,比如ModuleNotFoundError:No module name script1
我尝试将此语句添加到上面的目录中,但无效:
import os
os.chdir('..')
就像你说的。script1.py模块位于[应用程序]中 应该如此
from app.script1 import my_func
或者如果要从script.py导入所有函数
import app.script1
只需调用任何函数
script1.anyfunction()
就像你说的。script1.py模块位于[应用程序]中 应该如此
from app.script1 import my_func
或者如果要从script.py导入所有函数
import app.script1
只需调用任何函数
script1.anyfunction()
这有用吗
PYTHONPATH=app/pytest tests/test1.py
应该可以工作,或者(如果使用Python 3)在项目根目录中添加一个空的conftest.py
文件(沿着dirsapp
和tests
),并将导入从app.script1 import my_func更改为<代码>应用程序
然后被视为隐式命名空间包。这有帮助吗PYTHONPATH=app/pytest tests/test1.py
应该可以工作,或者(如果使用Python 3)在项目根目录中添加一个空的conftest.py
文件(沿着dirsapp
和tests
),并将导入从app.script1 import my_func更改为<代码>应用程序
然后被视为一个隐式命名空间包。抱歉,要澄清-[app]是一个文件夹,而不是一个文件请尝试以下操作:抱歉,要澄清-[app]是一个文件夹,而不是一个文件请尝试以下操作: