我在 ubuntu 22.10 上安装了 penv (2.3.17)。当我尝试安装任何 python 版本时,我收到错误:
enjamin@bens-mini-note:~$ pyenv install 3.7.0
Downloading Python-3.7.0.tar.xz...
-> https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
error: failed to download Python-3.7.0.tar.xz
BUILD FAILED (Ubuntu 22.10 using python-build 20180424)
Results logged to /tmp/python-build.20230417084707.21389.log
Last 10 log lines:
/tmp/python-build.20230417084707.21389 ~
curl: (23) Failure writing output to destination
使用 sudo 不起作用,ida 出现错误:未找到命令。
答案1
我在 SO 上找到的答案应该有帮助。https://stackoverflow.com/a/67853440/5833429
查看 pyenv 所需的依赖项https://github.com/pyenv/pyenv/wiki#suggested-build-environment
在 Ubuntu 上你需要
sudo apt update; sudo apt install build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
答案2
查看日志,curl: (23) Failure writing output to destination
意味着您要么磁盘空间不足,要么存在权限错误。
由于/tmp/python-build.20230417084707.21389 ~
建议pushd
切换到/tmp
运行之前在其下创建的新临时目录curl
,因此目录中的可用空间太少/tmp
是最可能的原因。
您的/tmp
目录可能是一个小型 ramdisk。您或许可以从中删除一些旧文件。
但是,您也/var/tmp
可以使用磁盘上的实际内容,方法是将其传递给环境变量中的命令$TMPDIR
,如下所示:
TMPDIR=/var/tmp pyenv install 3.7.0