Ubuntu поставляется с предустановленной Python 2.7.2+. (Я также загрузил пакеты python dev.) Из-за другой проблемы, с которой я сталкиваюсь (поясняется в глубине Как заменить/обновить версию библиотеки expat, используемую Apache?), Грэм Дамплтон сказал мне, что мой дистрибутив явно построил Python таким образом, чтобы использовать внешнюю реализацию pyexpat, что вызывает мою проблему. Он также сказал, что я могу сам построить Python из исходного кода, чтобы решить проблему. Как мне это сделать на Ubuntu? (Имейте в виду, что я новичок в Linux.)
Как я могу сам создать python из исходного кода на Ubuntu?
Ответ 1
-
В командной строке (в терминале) запустите
sudo apt-get install build-essential
Это позволит получить все общие пакеты, необходимые для сборки (например, компилятор и т.д.).
-
Затем запустите
sudo apt-get build-dep python2.7
Это позволит получить все библиотеки, необходимые для создания python.
-
Затем загрузите исходный код для python и распакуйте его в каталог.
-
перейдите туда и запустите
./configure --prefix=/path/where/you/want/python/installed
-
Затем
make
, а затемmake install
, чтобы он был встроен и установлен:make && make install
Если вы нажмете когти в пути, спросите здесь, и я попытаюсь предложить некоторые рекомендации.
Ответ 2
Лучший способ создания "горячего" очень недавнего python (из github) выглядит следующим образом:
sudo apt-get update \
&& 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-amd64 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 \
&& make install
Он создает очень недавний питон из источников на github.
С этим я построил Python 3.7.0a0 (heads/master:60a6632a3d, Aug 5 2017)
.
Ответ 3
Вы можете попробовать использовать pyenv. Я еще не пробовал. Но, глядя на источники, кажется очень зрелым, чтобы выполнить установку любого CPython-интерпретатора на любой * ix-системе.
Ответ 4
Самое главное решение для создания Python - pythonbrew, которое автоматизирует процесс, а также позволяет не только устанавливать несколько разных версий, но также легко выбирать между ними.
В 2016 году pyenv и PyRun являются наиболее жизнеспособными решениями.