根据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)
答案 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
。
因此,请检查aria2c
,curl
和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
}
对于我的问题,我的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)
对我来说似乎是网络错误-在确认文件仍然可用并且安装成功之后,切换到了更快的网络