我正在尝试安装 Python 3.7.1,这样就不会破坏系统,但 pyenv 总是出错。我按照以下链接安装了 pyenv:如何使用 apt-get 安装 Python 3.6?
其中显示安装 pyenv 并且似乎可以工作,但无法安装 Python3.7.1
有人能帮帮我吗?下一步该怎么做才能找到问题?
$pyenv 安装 3.7.1 正在下载 Python-3.7.1.tar.xz... https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz 正在安装 Python-3.7.1... 构建失败(Ubuntu 18.04 使用 python-build 1.2.8) 检查或清理 /tmp/python-build.20181117140343.4690 处的工作树 结果记录到 /tmp/python-build.20181117140343.4690.log 最后 10 行日志: 文件“/tmp/tmpgu4s65ck/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/__init__.py”,第 42 行,位于 文件“/tmp/tmpgu4s65ck/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/cmdoptions.py”,第 16 行,位于 文件“/tmp/tmpgu4s65ck/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/index.py”,第 25 行,位于 文件“/tmp/tmpgu4s65ck/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/download.py”,第 39 行,位于 文件“/tmp/tmpgu4s65ck/pip-10.0.1-py2.py3-none-any.whl/pip/_internal/utils/glibc.py”,第 3 行,位于 文件“/tmp/python-build.20181117140343.4690/Python-3.7.1/Lib/ctypes/__init__.py”,第 7 行,位于 从 _ctypes 导入 Union、Structure、Array ModuleNotFoundError:没有名为“_ctypes”的模块 Makefile:1122:目标“安装”的配方失败 make:*** [安装] 错误 1
答案1
安装缺少的构建工具
sudo apt-get install build-essential git libreadline-dev zlib1g-dev libssl-dev libbz2-dev libsqlite3-dev libffi-dev
然后通过 pyenv 安装 python 3.7.1
pyenv install 3.7.1
不是自大,但你可能只是缺少 libffi-dev
答案2
该问题可能是缺少 libffi-dev 的安装,可以使用以下命令进行安装:
sudo apt install libffi-dev
注意:您可能需要重新安装 Python 才能使其正常工作。就我而言,除非我卸载并重新安装 Python,否则它不会起作用。