Eigenes Python installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
K (Python 3.9.6)
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
= Eigenes Python installieren =
__TOC__
 
= Motivation =


Manchmal macht es Sinn eine eigene Python-Umgebung zu installieren. Gründe dafür können sein
Manchmal macht es Sinn eine eigene Python-Umgebung zu installieren. Gründe dafür können sein
Zeile 7: Zeile 9:
* Freie Auswahl der Python-Distribution (z. B. die neueste)
* Freie Auswahl der Python-Distribution (z. B. die neueste)


Ich empfehle Python mithilfe von [http://www.buildout.org/ buildout] zu installieren. Im folgenden wird die Vorgehensweise erläutert.
= Installation eines selbst kompilierten Pythons =


== Installation ==
Ich installiere ein eigenes Python (hier Python 3.11) so:


[https://github.com/collective/buildout.python buildout.python] ist ein Projekt auf Github, dass sich zum Ziel gemacht hat, auf (allen) vielen Plattformen diverse Distributionen von Python zu kompilieren. Man klont das Projekt:
  mkdir /home/pacs/xyz00/opt
  mkdir /home/pacs/xyz00/build
  cd /home/pacs/xyz00/build
  wget https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz
  tar xzf Python-3.11.3.tgz
  cd Python-3.11.3.tgz
  ./configure --enable-optimizations --prefix=/home/pacs/xyz00/opt
  make
  make install
  cd ..
  rm -rf build


git clone git://github.com/collective/buildout.python.git ~/mypython
Die folgenden Pfade sollten in der Datei <code>.profile</code> zum Ausführungspfad hinzugefügt werden:
cd ~/mypython


Nun die buildout.cfg editieren: alle ungewollten Python-Distributionen auskommentieren (auch die pypy). Danach lässt man das Buildout durchlaufen.
  export PATH=$HOME/opt/bin:$HOME/.local/bin:$PATH


python bootstrap.py
Dann sollten noch die Programme pip und pipenv für die neue Pythonversion installiert werden:
bin/buildout


Jetzt wird das Python runtergeladen, kompiliert und installiert.
  # setze den neuen Pfad
Es lässt sich folgendermaßen aktivieren:
  . ~/.profile
  python3 -m pip install --user --upgrade pip pipenv


source ~/mypython/python-x.x/bin/activate
= Installation mit pyenv =


Es gibt eine komfortable Möglichkeit, eigene Python Versionen zu installieren.


== Alternative ==
Das Werkzeug kommt aus der Ruby Welt, und ist ein Fork von rbenv.


Ich kann nicht beurteilen, ob die Variante oben mit Buildout noch zum Ziel führt.
Siehe auch https://github.com/pyenv/pyenv
Ein Mitglied hatte Schwierigkeiten damit.


Ich würde (hier Python 3.9) so installieren:
{{Textkasten|gelb|Hinweis für lokale Installation|Falls ihr z.B. für Ansible lokal auf eurem eigenen Rechner eine neuere Version von Python installieren wollt, werden folgende Pakete benötigt:


   mkdir /home/pacs/xyz00/opt
apt-get -y install libssl-dev libbz2-dev libncurses-dev libffi-dev libreadline-dev libsqlite3-dev liblzma-dev zlib1g-dev
   mkdir /home/pacs/xyz00/build
 
   cd /home/pacs/xyz00/build
Diese Pakete sind bei Hostsharing bereits installiert.
   wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
}}
   tar xzf Python-3.9.6.tgz
 
   cd Python-3.9.6
Hier die Befehle, die ausgeführt werden müssen:
   ./configure --enable-optimizations --prefix=/home/pacs/xyz00/opt
 
  make
   git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  make install
   echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
  cd ..
  echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
  rm -rf build
   echo 'eval "$(pyenv init -)"' >> ~/.profile
  source ~/.profile
  pyenv versions
  pyenv version
   # siehe die aktuellen Versionen: https://www.python.org/downloads/
   pyenv install 3.10.11
   pyenv global 3.10
   python --version
 
Um pipenv speziell mit dieser Python-Version zu installieren:


  pip install pipenv
  pipenv install


----
----

Version vom 6. Juli 2023, 07:20 Uhr

Motivation

Manchmal macht es Sinn eine eigene Python-Umgebung zu installieren. Gründe dafür können sein

  • Unabhängigkeit vom System-Python
  • Volle Kontrolle über eingesetzte Python-Packages
  • Freie Auswahl der Python-Distribution (z. B. die neueste)

Installation eines selbst kompilierten Pythons

Ich installiere ein eigenes Python (hier Python 3.11) so:

 mkdir /home/pacs/xyz00/opt
 mkdir /home/pacs/xyz00/build
 cd /home/pacs/xyz00/build
 wget https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz
 tar xzf Python-3.11.3.tgz
 cd Python-3.11.3.tgz
 ./configure --enable-optimizations --prefix=/home/pacs/xyz00/opt
 make
 make install
 cd ..
 rm -rf build

Die folgenden Pfade sollten in der Datei .profile zum Ausführungspfad hinzugefügt werden:

 export PATH=$HOME/opt/bin:$HOME/.local/bin:$PATH

Dann sollten noch die Programme pip und pipenv für die neue Pythonversion installiert werden:

 # setze den neuen Pfad
 . ~/.profile
 python3 -m pip install --user --upgrade pip pipenv

Installation mit pyenv

Es gibt eine komfortable Möglichkeit, eigene Python Versionen zu installieren.

Das Werkzeug kommt aus der Ruby Welt, und ist ein Fork von rbenv.

Siehe auch https://github.com/pyenv/pyenv

Hinweis für lokale Installation

Falls ihr z.B. für Ansible lokal auf eurem eigenen Rechner eine neuere Version von Python installieren wollt, werden folgende Pakete benötigt:
apt-get -y install libssl-dev libbz2-dev libncurses-dev libffi-dev libreadline-dev libsqlite3-dev liblzma-dev zlib1g-dev

Diese Pakete sind bei Hostsharing bereits installiert.


Hier die Befehle, die ausgeführt werden müssen:

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
 echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
 echo 'eval "$(pyenv init -)"' >> ~/.profile
 source ~/.profile
 pyenv versions
 pyenv version
 # siehe die aktuellen Versionen: https://www.python.org/downloads/
 pyenv install 3.10.11
 pyenv global 3.10
 python --version

Um pipenv speziell mit dieser Python-Version zu installieren:

 pip install pipenv
 pipenv install