安装python3.9 + numpy + Matplotlib + opencv-python

这次安装程序我从来没有那么痛苦过;

本机环境:centos6.6 原来默认python2.7 版本

需要安装:python3.9 + numpy + Matplotlib + opencv-python

1、我碰到的问题:

1、在服务上采用yum install gcc 等等都报错,反正就是yum命令安装都会保网络简介错误,无法打开各种端口;

2、Broken toolchain: cannot link a simple C++ program. note: A compiler with support for C++11 language features is required. (安装numpy时发生)

3、[modules/core/CMakeFiles/opencv_core.dir/mathfuncs_core.avx2.cpp.o] Error 1

Could not build wheels for opencv-python, which is required to install pyproject.toml-based projects(安装opencv-python时发生)

2、解决yum打开端口错误,我修改机器的DNS配置;

vi /etc/resolv.conf

options timeout:2 attempts:3 rotate single-request-reopen
; generated by /sbin/dhclient-script

nameserver 172.31.109.33 【这个被我注释了】

nameserver 8.8.8.8 【这个是我新添加的的】
我不知到这个阿里云服务器为何配置了这个ip? 我很想揍死原来的维护人员。

但是还是报错,提示本机yum更新源有问题,原因是原来centos不再维护了

[base]
name=CentOS-6.6 - Base
baseurl=http://mirrors.aliyun.com/centos-vault/6.6/os/x86_64/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6

[updates]
name=CentOS-6.6 - Updates
baseurl=http://mirrors.aliyun.com/centos-vault/6.6/updates/x86_64/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6

[extras]
name=CentOS-6.6 - Extras
baseurl=http://mirrors.aliyun.com/centos-vault/6.6/extras/x86_64/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6

[centosplus]
name=CentOS-6.6 - Plus
baseurl=http://mirrors.aliyun.com/centos-vault/6.6/centosplus/x86_64/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6

[contrib]
name=CentOS-6.6 - Contrib
baseurl=http://mirrors.aliyun.com/centos-vault/6.6/contrib/x86_64/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6

采用以上代码替换:CentOS-Base-Aliyun.repo 文件中的 内容

采用以下命令更新源缓存信息

yum clean all
yum makecache

于是采用源码安装

3、源码安装python3.9

tar -zxvf Python-3.9.11.tgz
./configure –prefix=/usr/local/python3 –enable-optimizations –with-ssl –enable-shared

执行以上文件会报错,提示语法错误/Python-3.9.11/Modules/frameobject.c,又开始奔溃了;

我检查了auxvec.h文件:直接将

/Python-3.9.11/Modules/frameobject.c,这个内容显然是win上的东西搞死人 修改成如下
#if MS_WINDOWS && defined(FAULTHANDLER_USE_ALT_STACK) && defined(HAVE_LINUX_AUXVEC_H)
include <linux auxvec.h>
include <sys auxv.h>
#endif</sys></linux>

auxvec这个东西是win上的东西,centos上是可以不需要的,于是我加入了 MS_WINDOWS 这个判断;

./configure --prefix=/usr/local/python3 --enable-optimizations --with-ssl --enable-shared
make && make install
#&#x521B;&#x5EFA;&#x8F6F;&#x8FDE;&#x63A5;
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

#&#x8BBE;&#x7F6E;&#x73AF;&#x5883;&#x53D8;&#x91CF;
vim /etc/profile
&#x91CD;&#x65B0;&#x8F7D;&#x5165;&#x73AF;&#x5883;&#x53D8;&#x91CF;
source ~/.bash_profile

python3.9 安装完成。终于可喝口咖啡了,已经过去了3个小时。

开始安装:numpy,但是提示gcc版本太低了,无法安装

gcc -v 提示本机的gcc 为4.7.7,查看了gcc版本,再gcc4.8开始才开始支持C++11,而numpy1.11开始就需要C++11支持了,否则你是无法安装的;

于是是试图安装一个最新的GCC版本,然后我又一次奔溃了;

这个过程也是崩溃的,历时非常的长,估计4个小时才安装完毕,编译非常的慢,几乎晕过去了。

这个也是采用源码安装

wget ftp://gcc.gnu.org/pub/gcc/releases/gcc-8.4.0/gcc-8.4.0.tar.bz2
$ ./contrib/download_prerequisites
mkdir build
$ cd build
$ ../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
$ make &&  make install
whice gcc
gcc -v

重要安装上去了,可以开始安装numpy了,但是gcc 没有问题了。

但是在安装numpy时选哟安装一个cmake库,这个库要求为 cmake-3.1.3.tar.gz 于是安装这个cmake-3.1.3这个编译库,但是这个库要求 gcc 小于4.9版本;

我奔溃了,原来gcc 需要降级处理了,开始要骂娘了。

5、将gcc从8.4降级到4.8

wget ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2
$ ./contrib/download_prerequisites
mkdir build
$ cd build
$ ../configure –enable-checking=release –enable-languages=c,c++ –disable-multilib
$ make

make出错,原因是你不能采用gcc8.4去编译低级版本的源码,需要修改3个文件

修改,感谢这个作者,没有他我都不知道如何处理.

gcc降级完成,顺利安装了gcc4.8 ,到了 /usr/local/gcc-4.8.0/ 这个目录, 我们开始备份原来的gcc-8.4(这个可是我非常不容易才安装上的,不能直接覆盖的),采用软链方式

mv /usr/local/bin/gcc /ljw/gccback/
ln -s /usr/local/gcc-4.8.0./bin/gcc /usr/local/bin/gcc

顺利完成cmake-3.1.3 ,完成numpy源码安装

./pip3 install --upgrade setuptools
./pip3 install Matplotlib

完成Matplotlib 安装

./pip3 install --upgrade pip setuptools wheel
./pip3 install  opencv-python

(from opencv-python) (1.19.3)

./pip3 install opencv-python==3.4.0.14

搞了两天终于完成了

Original: https://blog.csdn.net/m0_46435052/article/details/123987982
Author: 灵猫说技术
Title: 安装python3.9 + numpy + Matplotlib + opencv-python

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/764312/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球