ubuntu20.04安装python3.7,ubuntu20.04安装python3

  ubuntu20.04安装python3.7,ubuntu20.04安装python3

  由于需求,Python3.10需要用源代码编译。我已经将近十年没有编译Python源代码了。这些年一直用conda来创建Python环境,但是现在有一个代码需要和Python联合编译,于是我开始编译Python3.10源代码。

  本文的操作系统环境是Ubuntu20.04,系统是全新安装的系统,所以本文的教程大部分情况下可以适配Ubuntu20.04系统。

  具体操作如下:

  git克隆https://github.com/python/cpython

  cd cpython

  git结帐3.10

  sudo安装gcc

  sudo适合安装品牌

  sudo安装openssl

  sudo apt安装libssl-dev

  sudo apt安装libffi-dev

  sudo apt安装zlib1g-dev

  sudo apt安装构建-基本

  sudo apt安装gcc g libffi-dev build-essential check install

  sudo apt安装libreadline-GPL v2-dev libncursessw5-dev libssl-dev libsqlite 3-dev tk-dev libgdbm-dev libc 6-dev libbz 2-dev。/configure-with-py debug-enable-shared-prefix=/home/devil/python 3.10 make-j8

  Make install大致解释了上面的操作:

  下载源代码:

  git克隆https://github.com/python/cpython

  在源代码中切换到3.10版:

  git结帐3.10

  安装相关组件:

  sudo安装gcc

  sudo适合安装品牌

  sudo安装openssl

  sudo apt安装libssl-dev

  sudo apt安装libffi-dev

  sudo apt安装zlib1g-dev

  sudo apt安装构建-基本

  sudo apt安装gcc g libffi-dev build-essential check install

  sudo apt安装libreadline-GPL v2-dev libncursessw5-dev libssl-dev libsqlite 3-dev tk-dev libgdbm-dev libc 6-dev libbz 2-dev

  和编译:/configure-with-py debug-enable-shared-prefix=/home/devil/python 3.10 make-j8

  需要注意的是-prefix=/home/devil/python3.10指的是编译后安装在哪个位置。/home/devil/python 3.10是我电脑上的位置,这个路径可以根据个人需要修改。

  安装:

  进行安装

  ===================================================

  安装后:

  为了使新安装的Python易于使用,我们可以修改。bashrc文件,并将新安装的Python的路径添加到PATH变量中:

  给/home/devil/加点东西。bashrc文件:

  导出路径=/home/devil/python 3.10/bin:$ PATH

  同时,编译安装后在python3.10/bin的路径中设置软链接:

  ln -s python3.10 python

  ln -s管道3管道

  可以看到,当我们在这个修改后默认调用Python时,我们重新编译了它。而且这里不建议将编译好的Python安装到系统默认路径下,这样就不需要在系统中修改shell的依赖关系了。而且我们一般都是在特定环境下编译Python进行开发和使用,所以需要什么版本的Python都可以轻松替换。

  ===================================================

  请注意,如果在编译之前没有执行以下语句:

  sudo apt安装gcc g libffi-dev build-essential check install

  sudo apt安装libreadline-GPL v2-dev libncursessw5-dev libssl-dev libsqlite 3-dev tk-dev libgdbm-dev libc 6-dev libbz 2-dev

  编译后的Python没有制表符补全功能。

  转载请联系作者授权,否则将追究法律责任。评论0发表评论。

  wx57cfbf9a3a9a8

  2022-05-22 13:23

  分享精彩干货,喜欢你的支持。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: