繁体   English   中英

在 wsl2 ubuntu 20.04 上尝试(pyenv install -v 3.9.0)时 pyenv 构建失败

[英]pyenv BUILD FAILED while trying (pyenv install -v 3.9.0) on wsl2 ubuntu 20.04

已解决:解决方案是我需要 zlib1g-dev

这是 pyenv 产生的错误

Traceback (most recent call last):
  File "<frozen zipimport>", line 520, in _get_decompress_func
ModuleNotFoundError: No module named 'zlib'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<frozen zipimport>", line 568, in _get_data
  File "<frozen zipimport>", line 523, in _get_decompress_func
zipimport.ZipImportError: can't decompress data; zlib not available

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 6, in <module>
  File "/tmp/python-build.20201212114143.1082/Python-3.9.0/Lib/runpy.py", line 206, in run_module
    mod_name, mod_spec, code = _get_module_details(mod_name)
  File "/tmp/python-build.20201212114143.1082/Python-3.9.0/Lib/runpy.py", line 147, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/tmp/python-build.20201212114143.1082/Python-3.9.0/Lib/runpy.py", line 111, in _get_module_details
    __import__(pkg_name)
  File "<frozen zipimport>", line 241, in load_module
  File "<frozen zipimport>", line 709, in _get_module_code
  File "<frozen zipimport>", line 570, in _get_data
zipimport.ZipImportError: can't decompress data; zlib not available
Traceback (most recent call last):
  File "/tmp/python-build.20201212114143.1082/Python-3.9.0/Lib/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/tmp/python-build.20201212114143.1082/Python-3.9.0/Lib/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/tmp/python-build.20201212114143.1082/Python-3.9.0/Lib/ensurepip/__main__.py", line 5, in <module>
    sys.exit(ensurepip._main())
  File "/tmp/python-build.20201212114143.1082/Python-3.9.0/Lib/ensurepip/__init__.py", line 210, in _main
    return _bootstrap(
  File "/tmp/python-build.20201212114143.1082/Python-3.9.0/Lib/ensurepip/__init__.py", line 129, in _bootstrap
    return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/tmp/python-build.20201212114143.1082/Python-3.9.0/Lib/ensurepip/__init__.py", line 38, in _run_pip
    return subprocess.run([sys.executable, "-c", code], check=True).returncode
  File "/tmp/python-build.20201212114143.1082/Python-3.9.0/Lib/subprocess.py", line 524, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/tmp/python-build.20201212114143.1082/Python-3.9.0/python', '-c', '\nimport runpy\nimport sys\nsys.path = [\'/tmp/tmpk898xfhs/setuptools-49.2.1-py3-none-any.whl\', \'/tmp/tmpk898xfhs/pip-20.2.3-py2.py3-none-any.whl\'] + sys.path\nsys.argv[1:] = [\'install\', \'--no-cache-dir\', \'--no-index\', \'--find-links\', \'/tmp/tmpk898xfhs\', \'--root\', \'/\', \'--upgrade\', \'setuptools\', \'pip\']\nrunpy.run_module("pip", run_name="__main__", alter_sys=True)\n']' returned non-zero exit status 1.
make: *** [Makefile:1254: install] Error 1

谷歌搜索时我什么也没找到,也不知道发生了什么。 我所做的步骤是,首先安装 pyenv 安装程序并运行该脚本,然后尝试运行(pyenv install -v 3.9.0)

系统确实安装了 python3.8 并且 pyenv 似乎知道它,但它仍然不会让我安装 3.9.0

编辑:为了让 pyenv 知道 python 的系统版本,我也应该加入这一点,我这样做了(sudo ln -s /usr/bin/python3 /usr/bin/python)。 另一件事是我还尝试使用名为 asdf 的工具安装 3.9.0 并导致相同的错误

EDIT2:似乎我从回溯中丢失了 zlib,但我在 ubuntu 上并且确实安装了 zlib1g,从我查找的内容来看,这就是 zlib 在 ubuntu 20.04 上的内容,我将尝试在 zlib 上查找更多信息,看看我是否需要安装别的东西

我在尝试在 WSL2/Ubutnu18 上安装带有asdf的 Python 3.8 (它使用与 pyenv 相同的后端)时遇到了类似的问题,并且安装zlib1g-dev不足以解决问题的作者所说的。

因此,作为更通用的解决方案,我发现安装 pyenv 为 Ubuntu 推荐的所有依赖项确实解决了asdf的问题(我也怀疑 pyenv )。 不同操作系统的依赖关系可以在这里找到:https://github.com/pyenv/pyenv/wiki#suggested-build-environment

我希望这对其他人有用!

PS:此资源也可能对类似问题有用: https://github.com/pyenv/pyenv/wiki/Common-build-problems

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM