我如何从Ubuntu的源代码中构建python?

2024-06-06 04:18:16 发布

您现在位置:Python中文网/ 问答频道 /正文

Ubuntu预装了Python 2.7.2+。(我还下载了python dev包)由于我遇到的另一个问题(在How do I replace/update the version of the expat library used by Apache?中进行了非常深入的解释),Graham Dumpleton告诉我,我的发行版以一种使用外部pyexpat实现的方式显式地构建了python,因此引起了我的问题。他还说,我可以自己从源代码构建Python来解决这个问题。在Ubuntu上我该怎么做?(请记住,我是Linux新手。)


Tags: ofthedevbyversionubuntuapachelibrary
3条回答

您可以尝试使用pyenv。我还没试过呢。但从源代码来看,在任何*ix系统上完成任何CPython解释器的安装似乎都非常成熟。

构建“hot”最新python(来自github)的最佳方法如下:

  sudo apt-get update \
  && sudo apt-get install -y build-essential git libexpat1-dev libssl-dev zlib1g-dev \
  libncurses5-dev libbz2-dev liblzma-dev \
  libsqlite3-dev libffi-dev tcl-dev linux-headers-generic libgdbm-dev \
  libreadline-dev tk tk-dev

  git clone https://github.com/python/cpython.git
  cd cpython && ./configure --prefix=/usr \
  --enable-loadable-sqlite-extensions \
  --enable-shared \
  --with-lto \
  --enable-optimizations \
  --with-system-expat \
  --with-system-ffi \
  --enable-ipv6 --with-threads --with-pydebug --disable-rpath \
  && make \
  && sudo make install

它从github上的源代码构建最新的python。

我用它建造了Python 3.8.0a0 (heads/master:077059e0f0, Aug 10 2018, 21:36:32)

  1. 在shell提示符下(在终端中),运行

    sudo apt-get install build-essential 
    

    这将获取构建任何东西所需的所有公共包(例如编译器等)。

  2. 那就跑吧

    sudo apt-get build-dep python2.7
    

    这将获取构建python所需的所有库。

  3. 然后下载python的源代码并将其解压缩到一个目录中。

  4. 去那儿跑

    ./configure --prefix=/path/where/you/want/python/installed
    
  5. 然后make,然后make install来构建和安装它:

    make && make install
    

如果你在路上遇到障碍,请回到这里,我会尽力提供一些指导。

相关问题 更多 >