Wie kann ich den Speicherort ändern, an dem Python-Binärdateien installiert werden, wenn ich sie aus der Quelle erstelle?

Wie kann ich den Speicherort ändern, an dem Python-Binärdateien installiert werden, wenn ich sie aus der Quelle erstelle?

Ich verwende openSUSE Leap 15 und versuche, Python 3.7.2 aus dem Quellcode zu erstellen, indem ichdieser Leitfaden.

Dabei habe ich folgende Anweisungen befolgt:

  1. Laden Sie das Archiv herunter
  2. Extrahieren Sie das Archiv /usr/lib64/als Root mit

    # cd /usr/lib64
    # tar xvf /home/george/Downloads/Python-3.7.2.tgz
    
  3. Führen Sie die Setup-Befehle als Root aus

    # cd Python-3.7.2
    # ./configure --enable-optimizations --with-ensurepip=install
    # make -j 8
    # make install
    

Diese Befehle verursachen keine Fehler, aber sie tun auch nicht das, was ich von ihnen erwarte. Sie sollen die neue Python-Binärdatei in installieren , aber diese Datei wird nie erstellt. Stattdessen werden die Dateien wie folgt /usr/bin/python3.7eingefügt :/usr/local/bin/

# ls -l /usr/local/bin/ | grep python
lrwxrwxrwx 1 root root        9 Mar 31 18:18 python3 -> python3.7
-rwxr-xr-x 2 root root 14655464 Mar 31 18:28 python3.7
lrwxrwxrwx 1 root root       17 Mar 31 18:18 python3.7-config -> 
python3.7m-config
-rwxr-xr-x 2 root root 14655464 Mar 31 18:28 python3.7m
-rwxr-xr-x 1 root root     3099 Mar 31 18:29 python3.7m-config
lrwxrwxrwx 1 root root       16 Mar 31 18:18 python3-config -> python3.7-config

Wie kann ich stattdessen zu den Binärdateien wechseln /usr/bin/?

Ich habe versucht, einen symbolischen Link in zu erstellen, /usr/bin/python3.7der auf den in verweist, /usr/local/bin/aber beim Ausführen erhalte ich eine Fehlermeldung:

# python3.7
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python 3.7.2 (default, Mar 31 2019, 18:10:07) 
[GCC 7.3.1 20180323 [gcc-7-branch revision 258812]] on linux
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
File "/etc/pythonstart", line 7, in <module>
import readline
ModuleNotFoundError: No module named 'readline'
>>>

Auch der Versuch, hierauf eine virtuelle Umgebung einzurichten, schlug fehl.

/usr/local/bin/Ich habe überlegt, alle enthaltenen Python3.7-Dateien nach zu verschieben /usr/bin, bin aber besorgt, weil dort bereits Python3.6 enthalten ist und jede Version über andere zugehörige Binärdateien verfügt (wie python3.7m-config).

verwandte Informationen