我已经在我的系统上安装了pyenv,命令pyenv install --list
运行良好。但是当我使用 pyenv install 2.7.11
下载一些 Python 版本时,结果如下:
Downloading Python-2.7.11.tgz...
-> https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz
error: failed to download Python-2.7.11.tar.gz
BUILD FAILED (Ubuntu 15.04 using python-build 20160509)
我在官方通用构建问题上没有发现任何类似的问题。
是pyenv
没有赶上新的 Ubuntu 更新吗?
命令pyenv install -v 2.7.11
给了我类似的错误。
安装 pyenv 要求解决了我的问题:
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
(见 https://github.com/pyenv/pyenv/wiki/Common-build-problems(
然后:
pyenv install 2.7.11
要使用pyenv
安装 python,命令pyenv install -v 2.7.11
显示的消息可能比pyenv install 2.7.11
多。所以我很容易找到错误。这次我得到了
curl: (77) error setting certificate verify locations: CAfile:
/etc/pki/tls/certs/ca-bundle.crt
CApath: none
这个问题已经在curl中解决了:(77(错误
# sudo apt-get install ca-certificates
问题是 curl 期望证书位于路径/etc/pki/tls/certs/ca-bundle.crt
但找不到它,因为它位于路径/etc/ssl/certs/ca-certificates.crt
。
通过运行将我的证书复制到预期目标
sudo cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt
为我工作。如果目标文件夹不存在,则需要通过运行
sudo mkdir -p /etc/pki/tls/certs
如果需要,修改上述命令以使目标文件名与curl预期的路径匹配,即将/etc/pki/tls/certs/ca-bundle.crt
替换为错误消息中"CAfile:"后面的路径。
默认安装 curl 不支持 https 协议。您可以使用"curl --version"进行检查。你可以找到HTTP,但没有HTTPS。
所以你需要重新安装 curl 参考如何安装 curl 和 libcurl。
./configure --prefix=$YOUR_DIR --with-ssl
make
make install
或查找安装 SSL 的位置,例如/opt/OpenSSL
./configure --with-ssl=/opt/OpenSSL
做 进行安装
如何安装 curl 和 libcurl
我遇到了类似的问题。我正在使用 fedora 29 并尝试安装 python 2.7.5。下面是错误输出。
构建失败(Fedora 29 使用 python-build 1.2.9-35-gb6109093(
检查或清理工作树/tmp/python-build.20190405111845.17497
./python -E -S -m sysconfig --generate-posix-vars 找不到依赖于平台的库 考虑将$PYTHONHOME设置为 [:] make: *** [makefile:464: pybuilddir.txt] 分段错误(核心转储(
我正在寻找一个解决方案,然后偶然发现了这个线程..它说:--
这个问题在 Python <2.7.15 中长期存在,最近由最近的编译器触发。他们在 3.x 中修复了它,并向后移植到 2.7.15 中。因此,与其只是收集补丁,也许最好使用交叉编译补丁将我们的 2.x 版本更新到 2.7.15。我有点害怕这种影响(在某些时候 2.7.x 上的 SSL 证书问题(。
我尝试使用 2.7.15 安装 pyenv install 2.7.15
它安装时没有错误。