gpt4 book ai didi

python - unittest.test 命名空间在 linux python 中不存在

转载 作者:太空宇宙 更新时间:2023-11-04 00:19:03 25 4
gpt4 key购买 nike

我正在尝试将一个 python 模块移植到 linux,该模块到目前为止一直严格在 Windows 上开发。运行单元测试时出现此错误:

ModuleNotFoundError: No module named 'unittest.test'

如果我进入 python /lib/unittest 路径,unittest.test 目录不存在,这看起来很奇怪,因为它存在于 main python repo 中。 .

我曾尝试在几台不同的 Linux 机器上从头开始安装 python,甚至尝试过干净的 docker 容器,但该目录总是丢失。它存在于所有 Windows 安装中,我没有看到任何迹象表明这是一个仅限 Windows 的模块。

我是否漏掉了一些明显的东西?

missing test directory

编辑:这是我通过 apt-get 安装 python3 的新 Debian docker 镜像的控制台输出。

root@10472a7cd1fd:/# python3 --version
Python 3.5.3
root@10472a7cd1fd:/# python3
Python 3.5.3 (default, Jan 19 2017, 14:11:04)
[GCC 6.3.0 20170118] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import unittest.test
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'unittest.test'
>>>

编辑2:

这是我正在移植的使用此命名空间的代码实例。

import unittest
from unittest.test.testmock.support import is_instance
...
self.assertTrue(is_instance(data.getType(), IntType))

最佳答案

CPython 的 Lib/unittest/test是包含 unittest 本身的测试的目录 ( ..yo dawg! )。它不是子包,您不需要安装它即可使用 unittest。

您可能只需要顶级 unittest 命名空间,例如

import unittest

class MyTest(unittest.TestCase):
...

关于python - unittest.test 命名空间在 linux python 中不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49864133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com