'no module named pip' 当 运行 毒素
'no module named pip' when running tox
我有一个简单的 tox 文件 运行宁基本 python 单元测试,我正在尝试 运行 针对多个 python 版本。
[tox]
envlist = py36, py37
[testenv]
setenv =
PYTHONPATH = {toxinidir}
我使用 pyenv 来管理环境。我的 pyenv global
设置为系统。我 运行 pyenv install 3.5.4 3.6.4
安装并 pyenv local ${version}
加载它们。
ERROR: py36: InvocationError for command /Users/$user/workspace/${proj}/.tox/py36/bin/python -m pip freeze (exited with code 1)
py36-11.log
action: py36, msg: envreport
cwd: /Users/$user/workspace/${proj}
cmd: /Users/$user/workspace/${proj}/.tox/py36/bin/python -m pip freeze
/Users/$user/workspace/${proj}/.tox/py36/bin/python: No module named pip
全毒输出
GLOB sdist-make: /Users/${user}/workspace/${proj}/setup.py
py36 inst-nodeps: /Users/${user}/workspace/${proj}/.tox/.tmp/package/1/tally_ho-0.1.0.zip
ERROR: invocation failed (exit code 1), logfile: /Users/${user}/workspace/${proj}/.tox/py36/log/py36-11.log
================================================================================================================================== log start ===================================================================================================================================
/Users/${user}/workspace/${proj}/.tox/py36/bin/python: No module named pip
=================================================================================================================================== log end ====================================================================================================================================
py37 inst-nodeps: /Users/${user}/workspace/${proj}/.tox/.tmp/package/1/tally_ho-0.1.0.zip
py37 installed: attrs==20.2.0,importlib-metadata==1.7.0,iniconfig==1.0.1,more-itertools==8.5.0,packaging==20.4,pluggy==0.13.1,py==1.9.0,pyparsing==2.4.7,pytest==6.0.2,six==1.15.0,${proj}==0.1.0,toml==0.10.1,zipp==3.1.0
py37 run-test-pre: PYTHONHASHSEED='1245480162'
py37 run-test: commands[0] | pytest
============================================================================================================================= test session starts ==============================================================================================================================
platform darwin -- Python 3.7.7, pytest-6.0.2, py-1.9.0, pluggy-0.13.1
cachedir: .tox/py37/.pytest_cache
rootdir: /Users/${user}/workspace/${proj}
collected 22 items
tests/test_cmd.py ....... [ 31%]
tests/test_config.py .... [ 50%]
tests/test_proj.py ........... [100%]
============================================================================================================================== 22 passed in 0.19s ==============================================================================================================================
___________________________________________________________________________________________________________________________________ summary ____________________________________________________________________________________________________________________________________
ERROR: py36: InvocationError for command /Users/${user}/workspace/${proj}/.tox/py36/bin/python -m pip freeze (exited with code 1)
$ pyenv --version
pyenv 1.2.1
$ tox --version
3.20.0 imported from /Users/${user}/.virtualenvs/${proj}/lib/python3.7/site-packages/tox/__init__.py
$pyenv local
3.6.4
我检查了 python 位置,发现每个 python 文件夹中都有一个 pip 二进制文件。我还尝试将 pip 添加到 tox 文件的 require
部分,在 deps
设置上设置 pip 并设置 pip_pre
true 以查看它是否会安装最新版本,但我得到了每次都是一样的结果。我没有看到与 google-fu 或 Stack 的任何其他匹配,所以我假设我在某处犯了一个用户错误...
pyenv 对我的路径做了一些奇怪的事情。我不得不停用 virtualenv 然后重新激活它。现在 pyenv 适用于我需要的所有 python 3 个版本。对于以后阅读本文的任何人,当我研究这个问题时,它通常与某种路径问题有关。
我有一个简单的 tox 文件 运行宁基本 python 单元测试,我正在尝试 运行 针对多个 python 版本。
[tox]
envlist = py36, py37
[testenv]
setenv =
PYTHONPATH = {toxinidir}
我使用 pyenv 来管理环境。我的 pyenv global
设置为系统。我 运行 pyenv install 3.5.4 3.6.4
安装并 pyenv local ${version}
加载它们。
ERROR: py36: InvocationError for command /Users/$user/workspace/${proj}/.tox/py36/bin/python -m pip freeze (exited with code 1)
py36-11.log
action: py36, msg: envreport
cwd: /Users/$user/workspace/${proj}
cmd: /Users/$user/workspace/${proj}/.tox/py36/bin/python -m pip freeze
/Users/$user/workspace/${proj}/.tox/py36/bin/python: No module named pip
全毒输出
GLOB sdist-make: /Users/${user}/workspace/${proj}/setup.py
py36 inst-nodeps: /Users/${user}/workspace/${proj}/.tox/.tmp/package/1/tally_ho-0.1.0.zip
ERROR: invocation failed (exit code 1), logfile: /Users/${user}/workspace/${proj}/.tox/py36/log/py36-11.log
================================================================================================================================== log start ===================================================================================================================================
/Users/${user}/workspace/${proj}/.tox/py36/bin/python: No module named pip
=================================================================================================================================== log end ====================================================================================================================================
py37 inst-nodeps: /Users/${user}/workspace/${proj}/.tox/.tmp/package/1/tally_ho-0.1.0.zip
py37 installed: attrs==20.2.0,importlib-metadata==1.7.0,iniconfig==1.0.1,more-itertools==8.5.0,packaging==20.4,pluggy==0.13.1,py==1.9.0,pyparsing==2.4.7,pytest==6.0.2,six==1.15.0,${proj}==0.1.0,toml==0.10.1,zipp==3.1.0
py37 run-test-pre: PYTHONHASHSEED='1245480162'
py37 run-test: commands[0] | pytest
============================================================================================================================= test session starts ==============================================================================================================================
platform darwin -- Python 3.7.7, pytest-6.0.2, py-1.9.0, pluggy-0.13.1
cachedir: .tox/py37/.pytest_cache
rootdir: /Users/${user}/workspace/${proj}
collected 22 items
tests/test_cmd.py ....... [ 31%]
tests/test_config.py .... [ 50%]
tests/test_proj.py ........... [100%]
============================================================================================================================== 22 passed in 0.19s ==============================================================================================================================
___________________________________________________________________________________________________________________________________ summary ____________________________________________________________________________________________________________________________________
ERROR: py36: InvocationError for command /Users/${user}/workspace/${proj}/.tox/py36/bin/python -m pip freeze (exited with code 1)
$ pyenv --version
pyenv 1.2.1
$ tox --version
3.20.0 imported from /Users/${user}/.virtualenvs/${proj}/lib/python3.7/site-packages/tox/__init__.py
$pyenv local
3.6.4
我检查了 python 位置,发现每个 python 文件夹中都有一个 pip 二进制文件。我还尝试将 pip 添加到 tox 文件的 require
部分,在 deps
设置上设置 pip 并设置 pip_pre
true 以查看它是否会安装最新版本,但我得到了每次都是一样的结果。我没有看到与 google-fu 或 Stack 的任何其他匹配,所以我假设我在某处犯了一个用户错误...
pyenv 对我的路径做了一些奇怪的事情。我不得不停用 virtualenv 然后重新激活它。现在 pyenv 适用于我需要的所有 python 3 个版本。对于以后阅读本文的任何人,当我研究这个问题时,它通常与某种路径问题有关。