如何删除python的虚拟环境
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何删除python的虚拟环境相关的知识,希望对你有一定的参考价值。
2进入Python安装目录中的脚本目录,本文目录为C:\Python34\Scripts,截图如下所示:
3
在脚本目录下启动命令行界面,输入命令dir,可以看到脚本目录下包含的工具,其中pip后面将要用到的命令,pip命令可以方便为python安装依赖包。
4
使用pip命令安装虚拟环境,命令为:pip install virtualenv,安装过程截图如下所示, 参考技术A rmvirtualenv [虚拟环境名称]
如何从 python 覆盖单元测试中省略(删除)虚拟环境(venv)?
【中文标题】如何从 python 覆盖单元测试中省略(删除)虚拟环境(venv)?【英文标题】:How to omit (remove) virtual environment (venv) from python coverage unit testing? 【发布时间】:2019-02-07 13:12:46 【问题描述】:https://coverage.readthedocs.io/en/coverage-4.5.1a/source.html#source
我的报道还包括“venv”文件夹,我想排除它 无论我做什么,即使使用 --include 或 omit 都没有用
coverage run --omit /venv/* tests.py
这会运行测试,但仍会添加“venv”文件夹和依赖项及其覆盖率百分比
当我这样做时
coverage run --include tests.py
只运行测试 - 它说
Nothing to do.
这很烦人...有人可以帮忙吗?
【问题讨论】:
改用coverage run --include tests.py -m tests.py
@Radek 你有没有找到解决方案?我已经尝试了以下建议的所有组合,但无法排除 venv 中的 python 文件。
【参考方案1】:
命令:
coverage run --omit /venv/* tests.py
忽略来自/venv
的覆盖(即:venv
已脱离根目录)。
您应该尝试使用相对目录,例如:
coverage run --omit venv tests.py
【讨论】:
我按照你说的做了第二个命令,得到这个错误:Can't find 'main' module in 'venv/include' 它运行了,但报告中仍有 venv,我已删除 .coverage 文件并再次运行命令,但报告中仍然没有运气 venv。 抱歉,我使用pytest-cov 运行我的覆盖率测试。 已安装 pytest-cov,运行它以查看报告的命令是什么 - py.test --cov=myproj tests/ - 我的项目中没有任何文件夹 - 那么如何那个样子? 找到它,同样的问题,就像其他覆盖一样 - 它使用 .coveragerc 文件,你有 glob - 也通过帮助尝试了一切 - 不起作用 - 我在项目目录中没有文件夹只有 venv ,如果我将该文件 glob [run] omit 放在它说无法从文件中读取的文件中,我不知道如何使其工作,命令或文件 glob - 没有任何作用。感谢您的帮助【参考方案2】:--omit
选项的帮助文本显示为 (documentation)
--omit=PAT1,PAT2,... Omit files whose paths match one of these patterns.
Accepts shell-style wildcards, which must be quoted.
如果不引用通配符,它将无法工作,因为 bash 在将参数列表传递给覆盖二进制文件之前会扩展通配符。使用单引号来避免 bash 通配符扩展。
在不从 venv/* 中的任何文件中获取覆盖率的情况下运行我的测试:
$ coverage run --omit 'venv/*' -m unittest tests/*.py && coverage report -m
........
----------------------------------------------------------------------
Ran 8 tests in 0.023s
OK
Name Stmts Miss Cover Missing
-------------------------------------------------------
ruterstop.py 84 8 90% 177, 188, 191-197, 207
tests/test_ruterstop.py 108 0 100%
-------------------------------------------------------
TOTAL 192 8 96%
如果您通常使用纯 python -m unittest
来运行测试,您当然也可以省略测试目标参数。
$ coverage run --omit 'venv/*' -m unittest
$ coverage report -m
【讨论】:
【参考方案3】:将*
用于/venv/
,它将消除您虚拟环境中的所有文件。
coverage run tests.py && coverage report --omit=*/venv/*
【讨论】:
【参考方案4】:对于那些不想在每次执行coverage
时传递--omit
的人,您可以在.coveragerc
或pyproject.toml
中定义以下内容。 .coveragerc
的示例:
# .coveragerc file content
[run]
omit = [
.venv/*
tests/*
]
pyproject.toml
的示例:
# pyproject.toml file content
[tool.coverage.run]
omit = [
"tests/*",
".venv/*",
]
【讨论】:
以上是关于如何删除python的虚拟环境的主要内容,如果未能解决你的问题,请参考以下文章