Azure DevOps Pipelines-Python-ModuleNotFoundError不管sys.path.append()或设置PYTHONPATH
我正在尝试为我的python应用程序运行一些测试,但我无法正确设置路径,以便我的Azure DevOps Pipelines-Python-ModuleNotFoundError不管sys.path.append()或设置PYTHONPATH,python,azure-devops,pythonpath,Python,Azure Devops,Pythonpath,我正在尝试为我的python应用程序运行一些测试,但我无法正确设置路径,以便我的test.py能够找到它 我的应用程序的结构如下: repo/src/main/python/main_module repo/tests/test.py import sys sys.path.append(os.path.normpath('C:/repo/src/main/python')) import main_module 我的test.py如下所示: repo/src/main/python/ma
test.py
能够找到它
我的应用程序的结构如下:
repo/src/main/python/main_module
repo/tests/test.py
import sys
sys.path.append(os.path.normpath('C:/repo/src/main/python'))
import main_module
我的test.py
如下所示:
repo/src/main/python/main_module
repo/tests/test.py
import sys
sys.path.append(os.path.normpath('C:/repo/src/main/python'))
import main_module
现在,我想在Azure管道中测试代码,因此首先我要复制回购协议:
- powershell: |
cd C:/
mkdir repo
cp -r -v $(src.repo)/* C:/repo/
condition: eq( variables['Agent.OS'], 'Windows_NT' )
之后,我使用tree
测试是否所有内容都被正确复制
然后我通过调用以下命令来运行测试脚本:
python C:/repo/tests/test.py
但这给了我一个模块nofounderror
我也尝试过通过PYTHONPATH设置我的main_模块的路径,但那也不起作用
他们的问题是我遗漏的还是Azure管道中的一个bug?与Azure DevOps支持人员交谈后,我现在知道我的问题是目前DevOps管道中的一个bug
现在,我将复制主模块旁边的测试脚本,如果一切顺利,在构建应用程序之前删除它们。要在Linux环境中使用Azure管道执行python脚本,我使用了“脚本:”
script: pythonpath=/repo/src/main/python python3 repo/tests/test.py
displayName: 'execute script python'
您的main\u模块
dir是否包含\uuu init\uuuu.py
文件?是的。在我的本地机器上一切正常。你能在远程机器上做python C:/repo/src/main/python/main\u module/\uuuu init\uuuuuuuuuuuuy.py
吗?是的,很好。你能发布你得到的准确回溯吗?你能提供任何进一步的信息(来自支持部门的通信或问题的链接),我看到我的PYTHONPATH导出在本地工作时被忽略了,这是一年多以后的事了,我遇到了类似的问题。是否存在该漏洞的票证链接?