【发布时间】:2020-05-14 19:39:35
【问题描述】:
我fork了以下开源Python项目,发布到pypi。
https://gitlab.com/potato-oss/google-cloud/gcloud-storage-emulator
我需要对源代码进行一些更改。它有一个为py36 和py37 配置的tox.ini 文件。我假设我做了我需要的源代码更改,然后运行tox 来测试它。对吗?
如何为此设置我的开发环境?我尝试使用pip install tox 安装,然后在源代码目录中运行tox。 python 3.7 测试似乎工作正常,但 python 3.6 和 flake8 失败并出现以下错误:
ERROR: py36: InterpreterNotFound: python3.6
py37: commands succeeded
ERROR: flake8: InvocationError for command /Users/jacob/workspace/gcloud-storage-emulator/.tox/flake8/bin/python -m pip install --exists-action w .tox/.tmp/package/1/gcloud-storage-emulator-0.0.0.dev0.zip (exited with code 1)
这似乎是有道理的,因为我只通过 brew 安装了 python 3.7。我尝试安装和使用pyenv,但没有得到任何结果。
我需要做什么才能运行tox,并使用两个 python 版本进行测试?另外,运行tox 是正确的开发方法吗?我还应该创建一个虚拟环境吗?
【问题讨论】:
-
这就是tox的作用,即使没有安装python36,它也会创建那个虚拟环境并在上面执行命令
-
那么为什么我会收到 InterpreterNotFound 错误?
标签: python virtualenv pyenv tox flake8