AWS Ubuntu 14.04 升级 Python 到 2.7.10,如何处理 apt-get python-dev

AWS Ubuntu 14.04 升级 Python 到 2.7.10,如何处理 apt-get python-dev

AWS 的 Ubuntu 14.04 附带 python 2.7.6。

在对图像进行任何其他操作之前,我先通过执行以下命令升级到 2.7.10

sudo apt-get -y install build-essential checkinstall libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
mkdir -p ~/python/2.7.10
cd ~/python/2.7.10
wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
tar xzf Python-2.7.10.tgz
cd Python-2.7.10
sudo ./configure
sudo make install
cd ~/

我使用make install而不是sudo make altinstall因为我希望它是系统上唯一的 Python 2.7,即默认的。

我知道文档中有一个警告

警告:make install 可能会覆盖或伪装 python 二进制文件。因此建议使用 make altinstall 而不是 make install,因为它只安装 exec_prefix/bin/pythonversion。

我应该坚持吗make altinstall?那么我该如何将其设为我的默认设置呢python

我该如何处理其他库,比如pip install --upgrade --force-reinstall pyopenssl,编译一些 C 代码?为了编译 C 代码,我需要sudo apt-get install python-dev获取标题。这个假设是错误的吗?我对此有点困惑,因为我猜测python-devrepo 是基于 2.7.6 的,如果这有任何意义的话。

此外,由于我在虚拟环境中运行 pip,因此pip install --upgrade --force-reinstall pyopenssl在那里发出时我确实收到OSError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/pyOpenSSL-0.15.1.dist-info'错误,这很可能是因为我没有运行 sudo(而是作为默认用户运行),以便将库安装到虚拟环境中。是什么原因造成的?如果我不升级,而是将 Python 保留为 2.7.6,则不会发生这种情况

最后一个问题:一旦我通过编译手动升级 python,是否不允许我使用 repo 中的 python-* 包(apt-get python-*)?

在此先感谢您的帮助。

答案1

通过保留所有默认值并对所有非标准版本使用 Docker 解决了该问题。

相关内容