Linux下编译安装python3

文章转载于 https://www.cnblogs.com/freeweb/p/5181764.html

  Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7版本,默认的python被系统很多程序所依赖,比如centos下的yum就是python2写的,所以默认版本不要轻易删除,否则会有一些问题,如果需要使用最新的Python3那么我们可以编译安装源码包到独立目录,这和系统默认环境之间是没有任何影响的,python3和python2两个环境并存即可

  首先去python官网下载python3的源码包,网址:https://www.python.org/

  进去之后点击导航栏的Downloads,也可以鼠标放到Downloads上弹出菜单选择Source code,表示源码包,这里选择最新版本3.5.1,当然下面也有很多其他历史版本,点进去之后页面下方可以看到下载链接,包括源码包、Mac OSX安装包、Windows安装包

  

  这里选择第一个下载即可,下载的就是源码包:Python-3.5.1.tgz,下载好之后上传到linux系统,准备安装

  python安装之前需要一些必要的模块,比如openssl,readline等,如果没有这些模块后来使用会出现一些问题,比如没有openssl则不支持ssl相关的功能,并且pip3在安装模块的时候会直接报错;没有readline则python交互式界面删除键和方向键都无法正常使用,至于需要什么模块在make完之后python会给出提示,通过提示进行安装即可装全, 另外感谢园友的Glory_Lion的回复;下面是需要提前预装的依赖:

复制代码
yum -y install zlib zlib-devel
yum -y install bzip2 bzip2-devel
yum -y install ncurses ncurses-devel
yum -y install readline readline-devel
yum -y install openssl openssl-devel
yum -y install openssl-static
yum -y install xz lzma xz-devel
yum -y install sqlite sqlite-devel
yum -y install gdbm gdbm-devel
yum -y install tk tk-devel
yum -y install libffi libffi-devel
复制代码

       安装上面这些python内置模块基本上就比较全了,如果后续有其他必要的模块,会继续补充的,接下来可以安装python了,编译过程中会自动包含这些依赖.

  释放文件:

tar -xvzf Python-3.5.1.tgz

  进入目录:

cd Python-3.5.1/

  配置编译,因为上面依赖包是用yum安装而不是自己编译的,所以都是安装在系统默认目录下,因此各种选项不用加默认即可生效:

./configure --prefix=/usr/python --enable-shared CFLAGS=-fPIC

      补充一下:这里加上--enable-shared和-fPIC之后可以将python3的动态链接库编译出来,默认情况编译完lib下面只有python3.xm.a这样的文件,python本身可以正常使用,但是如果编译第三方库需要python接口的比如caffe等,则会报错;所以这里建议按照上面的方式配置,另外如果openssl不使用系统yum安装的,而是使用自己编译的比较新的版本可以使用--with-openssl=/usr/local/openssl这种方式指定,后面目录为openssl实际安装的目录,另外编译完还要将openssl的lib目录加入ld运行时目录中即可. 

  接下来编译源码:

make

  执行安装:

make install

  整个过程大约5-10分钟,安装成功之后,安装目录就在/usr/python

      安装完成之后要简单做一下配置:即将python库路径添加到/etc/ld.so.conf配置中,然后执行ldconfig生效;或者添加到$LD_LIBRARY_PATH中,这样在接下来运行python3是就不会报找不到库文件的错误了.

  系统中原来的python在/usr/bin/python,通过ls -l可以看到,python是一个软链接,链接到本目录下的python2.7

  这里不要把这个删除,不对原来默认的环境做任何修改,只新建一个python3的软链接即可,只是需要执行python3代码时python要改成python3,或者python脚本头部解释器要改为#!/usr/bin/python3

  这里建立有关的软链接如下:

ln -s /usr/python/bin/python3 /usr/bin/python3
ln -s /usr/python/bin/pip3 /usr/bin/pip3

  这样就建立好了,以后直接执行python3命令就可以调用python3了,执行pip3可以安装需要的python3模块;另外如果仔细看python安装目录下的bin目录,实际上python3也是个软链接,链接到python3.5.1,这样多次链接也是为了多个版本的管理更加方便,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在Linux编译安装OpenCV-Python的步骤: 1. 安装依赖项 在终端中输入以下命令安装OpenCV-Python所需的所有依赖项: ``` sudo apt-get update sudo apt-get install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev \ libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev \ python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev ``` 2. 下载OpenCV源代码 从OpenCV的官方网站(https://opencv.org/releases/)下载最新版本的源代码,并将其解压缩到您的系统中: ``` wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip unzip opencv.zip ``` 3. 下载OpenCV-contrib源代码 从OpenCV的官方网站(https://opencv.org/releases/)下载最新版本的OpenCV-contrib源代码,并将其解压缩到您的系统中: ``` wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip unzip opencv_contrib.zip ``` 4. 编译OpenCV 在终端中进入OpenCV源代码目录并创建一个新的构建目录: ``` cd opencv-master mkdir build cd build ``` 使用cmake配置OpenCV的构建选项: ``` cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=ON \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-master/modules \ -D BUILD_EXAMPLES=ON .. ``` 请注意,上面的命令中的OPENCV_EXTRA_MODULES_PATH参数指定了OpenCV-contrib源代码目录中的modules子目录。 接下来,使用以下命令编译OpenCV: ``` make -j4 ``` 请注意,上面的命令中的-j参数指定了使用多少个CPU核心进行编译。 最后,使用以下命令安装OpenCV: ``` sudo make install ``` 5. 安装OpenCV-Python 在终端中输入以下命令安装OpenCV-Python: ``` sudo apt-get install python3-opencv ``` 6. 测试OpenCV-Python 打开Python解释器并导入OpenCV模块: ``` import cv2 ``` 如果没有任何错误消息,则说明OpenCV-Python已成功安装
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值