gpt4 book ai didi

python - coverage.py 和 setup.py 以及 Django 测试

转载 作者:行者123 更新时间:2023-11-28 21:31:10 25 4
gpt4 key购买 nike

我有一个带有 setup.py 的 Django 项目,如下所示:

.
├── backend
├── backoffice
├── backoffice_set
├── manage.py
├── MANIFEST.in
├── media
├── README.rst
├── requirements.txt
├── setup.py
└── venv2.7

当我运行时:python setup.py test 一切正常。但是,当我运行时:

/opt/bin/coverage run setup.py test

测试失败:

writing dependency_links to cfe_backoffice.egg-info/dependency_links.txt
reading manifest template 'MANIFEST.in'
warning: no files found matching '*' under directory 'backoffice/templates/backoffice/'
writing manifest file 'cfe_backoffice.egg-info/SOURCES.txt'
running build_ext
Traceback (most recent call last):
File "setup.py", line 21, in <module>
setup(
File "/opt/lib/python2.7/distutils/core.py", line 152, in setup
dist.run_commands()
File "/opt/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/opt/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "build/bdist.linux-i686/egg/setuptools/command/test.py", line 138, in run
self.with_project_on_sys_path(self.run_tests)
File "build/bdist.linux-i686/egg/setuptools/command/test.py", line 118, in with_project_on_sys_path
func()
File "build/bdist.linux-i686/egg/setuptools/command/test.py", line 164, in run_tests
testLoader = cks
File "/opt/lib/python2.7/unittest/main.py", line 94, in __init__
self.parseArgs(argv)
File "/opt/lib/python2.7/unittest/main.py", line 149, in parseArgs
self.createTests()
File "/opt/lib/python2.7/unittest/main.py", line 158, in createTests
self.module)
File "/opt/lib/python2.7/unittest/loader.py", line 130, in loadTestsFromNames
suites = [self.loadTestsFromName(name, module) for name in names]
File "/opt/lib/python2.7/unittest/loader.py", line 100, in loadTestsFromName
parent, obj = obj, getattr(obj, part)
AttributeError: 'module' object has no attribute 'runtests'

有没有人见过这个?您能提出解决方案吗?

最佳答案

好吧,过了一会儿我找到了解决方案。Django 没有全局安装,这正是我想要的。

我创建了我的虚拟环境:

 virtualenv --enable-system-packages

所以这导致 coverage.py 没有安装在我的 virtualenv 中。因此解决方案是强制 pip 使用 -I 安装它,这里是完整的操作日志:

/opt/bin/virtualenv --system-site-packages venv2.7
. venv2.7/bin/activate
pip install -r requirements.txt
pip install -I coverage
coverage run setup.py test

关于python - coverage.py 和 setup.py 以及 Django 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21880439/

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