CentOS6.x机器安装Python2.7.x

1   mv /usr/bin/python    /usr/bin/python.bak 

2   vim    `which yum`        修改解释器  修改成什么mv之后的python名字,这里是mv成/usr/bin/python.bak  参考以下截图

注意:     centos6.x的用的是python2.6的解释器,所以yum的第一行要把解释器写对。

3  wget ,   tar   ,    cd   ,   ./configure --prefix=/usr/local/python.xxx      make   make  install  2.7的python变异安装是这样的,请看以下是python3.x之后的安装

 wget ,   tar   ,    cd   ,   ./configure --prefix=/usr/local/python.xxx    前面的这些都是一样的  make变成make  j   4         后面还是make  install

 

 

转:    https://www.cnblogs.com/stonehe/p/7944366.html

准备环境:CentOS6.8机器

 

1.查看机器默认的Python版本

[root@hlmcent69nma ~]# python -V
Python 2.6.6
[root@hlmcent69nma ~]# whereis python
python: /usr/bin/python /usr/bin/python2.6 /usr/lib/python2.6 /usr/lib64/python2.6 /usr/local/bin/python /usr/include/python2.6 /usr/share/man/man1/python.1.gz

 

2.安装gcc

[root@hlmcent69nma ~]# yum install gcc -y

 

3.下载最新的Python2.7.x安装包,解压并进入指定目录

复制代码
[root@hlmcent69nma ~]# wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
[root@hlmcent69nma ~]# ll Python-2.7.14.tgz 
-rw-r--r--. 1 root root 17176758 Sep 17 02:05 Python-2.7.14.tgz
[root@hlmcent69nma ~]# tar zxvf Python-2.7.14.tgz
[root@hlmcent69nma ~]# cd Python-2.7.14
[root@hlmcent69nma Python-2.7.14]# ll
total 1000
-rw-r--r--.  1 1000 1000  10914 Sep 17 01:38 aclocal.m4
-rwxr-xr-x.  1 1000 1000  44259 Sep 17 01:38 config.guess
-rwxr-xr-x.  1 1000 1000  36515 Sep 17 01:38 config.sub
-rwxr-xr-x.  1 1000 1000 442959 Sep 17 01:38 configure
-rw-r--r--.  1 1000 1000 141572 Sep 17 01:38 configure.ac
drwxr-xr-x. 22 1000 1000   4096 Sep 17 01:38 Demo
drwxr-xr-x. 18 1000 1000   4096 Sep 17 01:55 Doc
drwxr-xr-x.  2 1000 1000   4096 Sep 17 01:38 Grammar
drwxr-xr-x.  2 1000 1000   4096 Sep 17 01:38 Include
-rwxr-xr-x.  1 1000 1000   7122 Sep 17 01:38 install-sh
drwxr-xr-x. 47 1000 1000  12288 Sep 17 01:38 Lib
-rw-r--r--.  1 1000 1000  12757 Sep 17 01:38 LICENSE
drwxr-xr-x. 11 1000 1000   4096 Sep 17 01:38 Mac
-rw-r--r--.  1 1000 1000  48553 Sep 17 01:38 Makefile.pre.in
drwxr-xr-x.  5 1000 1000   4096 Sep 17 01:38 Misc
drwxr-xr-x.  9 1000 1000   4096 Sep 17 01:38 Modules
drwxr-xr-x.  3 1000 1000   4096 Sep 17 01:38 Objects
drwxr-xr-x.  2 1000 1000   4096 Sep 17 01:38 Parser
drwxr-xr-x.  9 1000 1000   4096 Sep 17 01:38 PC
drwxr-xr-x.  2 1000 1000   4096 Sep 17 01:38 PCbuild
-rw-r--r--.  1 1000 1000  35170 Sep 17 01:38 pyconfig.h.in
drwxr-xr-x.  2 1000 1000   4096 Sep 17 01:38 Python
-rw-r--r--.  1 1000 1000  55670 Sep 17 01:38 README
drwxr-xr-x.  5 1000 1000   4096 Sep 17 01:38 RISCOS
-rw-r--r--.  1 1000 1000  99231 Sep 17 01:38 setup.py
drwxr-xr-x. 23 1000 1000   4096 Sep 17 01:38 Tools
复制代码

 

4.配置,编译,编译安装

[root@hlmcent69nma Python-2.7.14]# ./configure --prefix=/usr/local/python/python2.7
[root@hlmcent69nma Python-2.7.14]# make
[root@hlmcent69nma Python-2.7.14]# make install

备注:
执行 ./configure --prefix=/usr/local/python/python3 命令。./configure命令执行完毕之后创建一个文件creating Makefile,供下面的make命令使用 执行make install之后就会把程序安装到我们指定的目录中去。Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。如果配置--prefix,如:./configure --prefix=/usr/local/test可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。

 

5.查看系统的Python版本,还是2.6.x

[root@hlmcent69nma ~]# python -V
Python 2.6.6

 

6.查看新安装的Python版本,当前系统的Python版本,并将系统指向的Python从2.6.x修改为2.7.x,再次查看当前系统的Python版本,已经变更为2.7.x

复制代码
[root@hlmcent69nma ~]# /usr/local/python/python2.7/bin/python2.7 -V
Python 2.7.14
[root@hlmcent69nma ~]# /usr/bin/python -V
Python 2.6.6
[root@hlmcent69nma ~]# mv /usr/bin/python /usr/bin/python.bak
[root@hlmcent69nma ~]# ln -s /usr/local/python/python2.7/bin/python2.7 /usr/bin/python
[root@hlmcent69nma ~]# python -V
Python 2.7.14
复制代码

 

7.但是发现yum命令无法使用了,由于yum是基于python2.6才能正常工作,需单独将yum指向python2.6版本

复制代码
[root@hlmcent69nma ~]# yum list
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
No module named yum
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
2.7.14 (default, Nov 30 2017, 11:54:55) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-18)]
If you cannot solve this problem yourself, please go to 
the yum faq at:
http://yum.baseurl.org/wiki/Faq
复制代码

[root@hlmcent69nma ~]# vim /usr/bin/yum

 

参考链接:

https://www.cnblogs.com/perallina/p/5253329.html

https://www.cnblogs.com/lclq/archive/2016/06/27/5620196.html

 

转载于:https://www.cnblogs.com/fyy-hhzzj/p/9059808.html

<think>我们面对的问题是多方面的: 1. 用户使用的是Python 2.7(已停止支持) 2. pip版本过旧(8.1.2) 3. 安装路径不可写(使用用户安装) 4. 尝试安装onnxruntime-gpu失败(找不到匹配版本) 根据引用[1]和引用[4],用户已经尝试升级pip但没有成功。引用[4]提供了手动安装setuptools和pip的方法,但用户可能仍然停留在旧版本。 考虑到onnxruntime-gpu不支持Python 2.7(最低要求Python 3.5),因此根本的解决方案是升级Python版本。但如果用户必须使用Python 2.7,则需要寻找替代方案。 然而,根据错误信息,onnxruntime-gpu没有支持Python 2.7的版本。因此,我们只能建议用户升级Python。 如果用户无法升级Python,那么只能尝试安装onnxruntime(CPU版本)的旧版本,但同样,onnxruntime从1.0版本开始就要求Python>=3.5。 因此,我们分步骤提供解决方案: 方案一(推荐):升级Python到3.5以上,并安装onnxruntime-gpu 方案二:如果必须使用Python2.7,则只能使用更古老的机器学习框架(如TensorFlow 1.x)并转换模型,但无法使用onnxruntime。 由于用户的问题中提到了GPU,我们假设用户需要GPU加速。因此,我们重点解决方案一。 步骤: 1. 升级Python(例如到3.6或3.72. 升级pip(使用新的Python版本) 3. 安装onnxruntime-gpu(注意CUDA版本匹配) 但是,用户的环境可能不允许直接升级系统Python,因此建议使用虚拟环境(如conda或venv)来安装新版本Python。 具体步骤: 步骤1:安装Python3(以CentOS为例,因为用户使用root命令,可能是CentOS) ```bash # 安装EPEL(如果尚未安装) yum install -y epel-release # 安装Python3.6 yum install -y python36 ``` 步骤2:创建虚拟环境(可选,但推荐) ```bash python36 -m venv onnx_env source onnx_env/bin/activate ``` 步骤3:升级pip ```bash pip install --upgrade pip ``` 步骤4:安装onnxruntime-gpu(需要根据CUDA版本选择) ```bash # 例如,如果CUDA版本是10.2,则安装1.7.0版本 pip install onnxruntime-gpu==1.7.0 ``` 如果用户无法升级系统Python,也可以考虑使用miniconda: 步骤1:下载并安装miniconda(Python3.7版本) ```bash wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh ``` 步骤2:创建环境并安装 ```bash conda create -n onnx_env python=3.7 conda activate onnx_env pip install onnxruntime-gpu ``` 关于用户提到的“site-packages不可写”的问题,在虚拟环境中不会出现,因为虚拟环境中的site-packages是用户可写的。 如果用户坚持使用Python2.7,那么只能尝试安装onnxruntime的非常古老的版本(如果有的话),但经过查询,onnxruntime从第一个版本开始就要求Python>=3.5。因此,此路不通。 另外,关于pip的旧脚本包装器警告,升级pip到新版本后即可解决。 总结:必须升级到Python3。 验证安装: ```python import onnxruntime as ort print(ort.__version__) print(ort.get_device()) ``` 如果输出为'GPU',则表示成功。 注意:安装onnxruntime-gpu之前,请确保系统已安装对应版本的CUDA和cuDNN。 如果用户仍然遇到权限问题,可以使用`--user`参数安装,但推荐使用虚拟环境。 引用说明: - 用户尝试升级pip的方法参考了引用[4]中的手动安装方法[^4]。 - 关于site-packages的位置问题,引用[2]和引用[3]提供了信息[^2][^3]。 因此,我们强烈建议用户升级Python版本。 相关问题: 1. 如何在CentOS 7上升级Python到3.72. 如何创建和激活Python虚拟环境? 3. 如何检查CUDA和cuDNN版本? 4. 如何在没有root权限的情况下安装Python包? 5. 如何解决虚拟环境中安装onnxruntime-gpu时的CUDA兼容性问题?</think>### 解决 Python 2.7安装 ONNX Runtime 失败的完整方案 您的问题涉及多个关键点:Python 2.7 已停止支持、pip 版本过旧、site-packages 不可写,以及 ONNX Runtime 的兼容性问题。以下是逐步解决方案: --- #### 🔧 1. **升级 pip 版本(解决旧脚本包装器警告)** 当前 pip 版本 (8.1.2) 过旧是核心问题: ```bash # 手动下载最新 pip 安装包 wget https://bootstrap.pypa.io/pip/2.7/get-pip.py python get-pip.py --user # 使用 --user 避免权限问题 ``` ```bash # 验证升级结果(应显示 20.3.4 版本) pip --version ``` > 升级后 pip 版本将达到 Python 2.7 支持的最高版本 (20.3.4)[^4][^5] --- #### ⚠️ 2. **解决 site-packages 不可写问题** 使用 `--user` 或虚拟环境避开权限限制: ```bash # 方法1:用户级安装 pip install --user <package> # 方法2:创建虚拟环境 python -m virtualenv myenv source myenv/bin/activate ``` --- #### 🚫 3. **ONNX Runtime 与 Python 2.7 的兼容性问题** 关键事实: - ONNX Runtime **不支持 Python 2.7**(最低要求 Python 3.5+) - 最后支持 Python 2.7 的版本是 1.4.0(仅 CPU 版本) 替代方案: ```bash # 尝试安装最后兼容版本(仅 CPU) pip install --user onnxruntime==1.4.0 ``` ```bash # 如果必须使用 GPU,需升级 Python 版本 conda create -n py38 python=3.8 conda activate py38 pip install onnxruntime-gpu ``` --- #### 💡 4. **终极解决方案:升级 Python 环境** 强烈建议升级到 Python 3.x: ```bash # Ubuntu 示例 sudo apt update sudo apt install python3.8 python3.8-venv # 创建新环境 python3.8 -m venv onnx_env source onnx_env/bin/activate pip install onnxruntime-gpu # 正常安装最新版 ``` --- #### ✅ 验证安装 ```python import onnxruntime as ort print(ort.__version__) # 应显示版本号 print(ort.get_device()) # 应输出 'GPU' 或 'CPU' ``` --- ### 关键问题总结 | 问题 | 解决方案 | 必要性 | |------|----------|--------| | Python 2.7 过旧 | 升级到 Python 3.5+ | 必须 | | pip 8.1.2 过旧 | 手动升级到 pip 20.3.4 | 必须 | | site-packages 不可写 | 使用 `--user` 或虚拟环境 | 推荐 | | ONNX Runtime 不兼容 | 安装 1.4.0(仅CPU)或升级Python | 依需求 | > **强烈建议**:由于 Python 2.7 已于2020年停止支持[^1],且 ONNX Runtime 新特性均不兼容旧版,升级 Python 3.x 是唯一可持续方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值