pyenv 无法下载现有版本的 Python

Med*_*Man 7 python macos pyenv

根据博客文章,我最近安装了 pyenv 并尝试安装 python 版本。我运行了一些命令,但遇到错误,我不确定如何解决。

$ pyenv install 3.6.6
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.6.6.tar.xz...
-> https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz
error: failed to download Python-3.6.6.tar.xz

BUILD FAILED (OS X 10.12.6 using python-build 20180424)
Run Code Online (Sandbox Code Playgroud)

Han*_* He 11

我得到了同样的错误。挖了pyenv源码,找到了根本原因。

在里面/usr/local/bin/python-build,它会检测一个 http 客户端来下载 tar 文件。第一选择是aria2c,然后curl,然后wget

所以检查是否aria2ccurl并且wget可以成功运行。

detect_http_client() {
  local client
  for client in aria2c curl wget; do
    if type "$client" &>/dev/null; then
      echo "$client"
      return
    fi
  done
  echo "error: please install \`aria2c\`, \`curl\`, or \`wget\` and try again" >&2
  return 1
}
Run Code Online (Sandbox Code Playgroud)

对于我的问题,我的aria2c命令有问题。我之前升级了我的 openssl 库,然后所有相关的命令在执行时都出错。

> aria2c                                                                                                                                              55.5s
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/opt/libssh2/lib/libssh2.1.dylib
Run Code Online (Sandbox Code Playgroud)

重新安装aria2c和相关库后,问题解决。

重装步骤aria2c

> brew uninstall aria2
> brew install aria2
Run Code Online (Sandbox Code Playgroud)


rob*_*123 -1

对我来说似乎是网络错误 - 在确认文件仍然可用并且安装没有问题后切换到更快的网络