Как бы я сам собрал python из исходного кода на Ubuntu? - PullRequest
28 голосов
/ 11 ноября 2011

Ubuntu поставляется с предустановленным Python 2.7.2+.(Я также скачал пакеты разработки для Python.) Из-за другой проблемы, которую я имею (Объяснено очень подробно в Как заменить / обновить версию библиотеки экспатов, используемую Apache? ), Грэм Дамплтонсказал мне, что мой дистрибутив явно построил Python таким образом, чтобы использовать внешнюю реализацию pyexpat, что вызвало мою проблему.Он также сказал, что я могу собрать Python самостоятельно из исходного кода, чтобы решить эту проблему.Как бы я сделал это на Ubuntu?(Имейте в виду, что я новичок в Linux.)

Ответы [ 4 ]

40 голосов
/ 11 ноября 2011
  1. В командной строке (в терминале) введите

    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
    

Если по дороге вы наткнетесь на препятствия, спросите здесь, и я постараюсь дать некоторые рекомендации.

26 голосов
/ 06 августа 2017

Лучший способ собрать «горячий» совсем новый 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 3.8.0a0 (heads/master:077059e0f0, Aug 10 2018, 21:36:32).

6 голосов
/ 18 июля 2015

Вы можете попробовать использовать pyenv . Я еще не пробовал. Но, глядя на источники, кажется очень зрелым выполнить установку любого интерпретатора CPython в любой * ix-системе.

2 голосов
/ 11 ноября 2011

Превосходное решение для сборки Python самостоятельно - pythonbrew , которое автоматизирует процесс, а также позволяет не только устанавливать несколько разных версий, но и легко выбирать между ними.

В 2016 году pyenv и PyRun являются наиболее жизнеспособными решениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...