pyenv无法下载现有版本的Python

时间:2019-01-01 00:44:43

标签: python macos pyenv

根据blog post,我最近安装了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)

4 个答案:

答案 0 :(得分:0)

该错误可能有多种原因,但是您可以使用

--verbose

标志以获取更精确的信息。

pyenv install <your version> --verbose

在我的情况下,错误是通过自制程序安装的curl,但路径指向本机安装:

python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
/var/folders/_z/nn_xcbvd3_15l_njz9j9c85c0000gn/T/python-build.20190717020159.52739 ~
Downloading Python-3.5.7.tar.xz...
-> https://www.python.org/ftp/python/3.5.7/Python-3.5.7.tar.xz
dyld: Library not loaded: /usr/local/opt/libssh2/lib/libssh2.1.dylib
  Referenced from: /usr/local/bin/curl
  Reason: image not found
/Users/johannes/.pyenv/plugins/python-build/bin/python-build: line 368: 53069 
Abort trap: 6           curl -q -o "${2:--}" -sSLf ${CURL_OPTS} "$1"
error: failed to download Python-3.5.7.tar.xz

BUILD FAILED (OS X 10.14.5 using python-build 1.2.13)

解决方法是添加

PATH="/usr/local/opt/curl/bin:$PATH"

到我的环境。

答案 1 :(得分:0)

我遇到了同样的错误。挖掘pyenv源代码后,我找到了根本原因。

/usr/local/bin/python-build内部,它将检测到http客户端以下载tar文件。首选是aria2c,然后是curl,然后是wget

因此,请检查aria2ccurlwget是否可以成功运行。

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
}

对于我的问题,我的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

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

答案 2 :(得分:0)

使用以下方法重新安装aria2后,它解决了我的问题:

brew uninstall aria2' then 'brew install aria2

答案 3 :(得分:-1)

对我来说似乎是网络错误-在确认文件仍然可用并且安装成功之后,切换到了更快的网络