Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: Wie Embedded-Python und PIP?

  Alt 10. Okt 2023, 13:31
Ich fürchte viele sind Linux-Entwickler oder nutzen ein großes installiertes Python,
wo bereits einige Module vorinstalliert sind und welche dann fast alle vergessen in ihre Requires eintzutragen.

Steht dann aber meistens irgendwo in der Mitte der Logausgabe, wo Fehlermeldung+Stacktrace gern 1-2 Bildschime lang ist.



das Python von dort https://www.python.org/downloads/windows/
z.B. https://www.python.org/ftp/python/3....mbed-win32.zip

dann das https://pip.pypa.io/en/stable/installation/#get-pip-py
also die ttps://bootstrap.pypa.io/pip/pip.pyz ins Verzeichnis (das ist eine ZIP, wo alles drin ist ... ABER nicht auspacken)
oder die https://bootstrap.pypa.io/get-pip.py ins Verzeichnis und ausführen python get-pip.py
leider lädt Letzteres das PIP-Modul auch nur runter, aber vergißt ebenfalls den Suchpfad (python*._pth)

z.B. python38._pth
Code:
python38.zip
.
Addons
Lib\site-packages

# Uncomment to run site.main() automatically
#import site
Addons ist von mir (manuell runtergeladene *.py, damit die nicht im RootVerzeichnis rumkullern und ein Upgrade einfacher ist)
Lib\site-packages ist für das Runtergeladene vom PIP
und Nachfolgendes könnte man für automatische Initialisierungen benutzen

Code:
@prompt @@$G$S
@cd /d "%~dp0"

@echo.
@echo Aktuelle pip.pyz downloaden.
@echo.
@echo Info:  PIP ist nicht als Python-Modul via PIP installiert,
@echo        sonden liegt als gepackte Python-Application vor.
@echo.
@pause
@echo.

del pip.pyz
curl https://bootstrap.pypa.io/pip/pip.pyz --output "pip.pyz"

@echo.
@pause
und die https://www.python.org/ftp/python/3....mbed-win32.zip könnte man auch via CURL runterlade und entpacken
(aber aufpassen, denn da ist python*._pth drin und würde somit überschrieben)

python pip.pyz <command> <params>
bzw.
python -m pip <command> <params>
Code:
python pip.pyz help                     Hilfe
python pip.pyz list                     Liste des Installierten
python pip.pyz search                   Suchen : geht nicht mehr, aber siehe https://pypi.org/search bzw. https://pypi.org/classifiers/

python pip.pyz install <modulname>      Installieren
python pip.pyz uninstall <modulname>    Deinstallieren
python pip.pyz show <modulname>         Infos: Abhängigkeiten, Version, Beschreibung, Quelle usw.

python pip.pyz check                    Abhängigkeiten prüfen
Elso einfach im Explorer in die Adresszeile "CMD" schreiben, [Enter] und dann schön Rumbefehlen.




PIP läd auch ein paar Hilfs-EXEn runter, welche über die Suchpfade gesucht werden, anstatt mit einem relativem Pfad zu arbeiten,
daher dann noch

in Console/Batch:
Code:
@set PATH=%~dp0Scripts;%PATH%
@set PYCACHE=
::@set PYTHONPATH=irgendwas.......
python.exe pip.pyz install
durch das PYCACHE= wird der Download-Cache des PIP deaktiviert

sowie beim Laden des Python im Delphi:
Delphi-Quellcode:
P := EnviromentVar('PATH', False);
S := ExtractFilePath(FPythonDLL) + 'Scripts';
if DirectoryExists(S) and not ContainsText(P, S) then
  SetEnvironmentVariable('PATH', PChar(S + ';' + P));
$2B or not $2B

Geändert von himitsu (10. Okt 2023 um 13:46 Uhr)
  Mit Zitat antworten Zitat