[PYTHON] pipsi: Verwenden Sie das Paket, ohne das System zu verschmutzen

Einführung

Ich wollte flake8 verwenden, um die Syntax von Python-Skripten zu überprüfen Ich wollte keine Pakete "pip installieren", die ich nicht brauchte, damit meine Anwendung funktioniert. Ich habe es vorgestellt, weil es etwas gab, das gut aussah, als ich danach suchte.

Was ist Pipsi?

mitsuhiko/pipsi

pipsi = pip script installer

What does it do? pipsi is a wrapper around virtualenv and pip which installs scripts provided by python packages into separate virtualenvs to shield them from your system and each other.

In other words: you can use pipsi to install things like pygmentize without making your system painful.

(Grob zusammengefasst) pipsi ist ein Wrapper für virtualenv und pip, indem die virtuelle Umgebung vom System getrennt wird. Sie können Pakete installieren, ohne Ihr System zu verschmutzen.

pipsi installs each package into ~/.local/venvs/PKGNAME and then symlinks all new scripts into ~/.local/bin.

pipsi installiert das Paket unter ~ / .local / venvs Generieren Sie einen symbolischen Link zum Skript in ~ / .local / bin.

Einführung

Umgebung

Wir haben Debian-Umgebung, in der Python ausgeführt wird lokal vorbereitet.

Docker-Betrieb


#Laden Sie das Python-Image herunter
$ docker pull python:3.5.2

#Starten Sie den Container und führen Sie bash aus
$ docker run -it {IMAGE ID} /bin/bash

Erstellen Sie einen Benutzer mit Sudo-Berechtigungen zur Erläuterung. (Es war notwendig, "sudo" selbst einzuführen, aber ich werde es weglassen)

Hoge-Benutzer hinzufügen


$ adduser hoge
$ gpasswd -a hoge sudo	

Verfahren

Führen Sie die Befehle curl und python gemäß der README aus.

Pipsi-Installation


$ curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2805  100  2805    0     0   6466      0 --:--:-- --:--:-- --:--:--  6463
Installing pipsi
You need to have virtualenv installed to bootstrap pipsi.

Ich habe eine Fehlermeldung erhalten, weil keine virtuelle Umgebung vorhanden war. Installieren Sie zwangsläufig nur virtualenv mit pip. (Virtualenv-Dokumentation besagt, dass eine lokale Installation möglich, aber problematisch war.)

Virtualenv installieren


$ sudo pip install virtualenv
$ pip list
pip (8.1.2)
setuptools (20.10.1)
virtualenv (15.0.3)

Wenn Sie fertig sind, führen Sie den Befehl pipsi install erneut aus.

Pipsi-Installation


$ curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | python

Die Installation ist erfolgreich, es wird jedoch eine Warnung angezeigt.

Warning


Warning:
  It looks like /home/hoge/.local/bin is not on your PATH so pipsi will
  not work out of the box.  To fix this problem make sure to
  add this to your .bashrc / .profile file:

  export PATH=/home/hoge/.local/bin:$PATH

Damit es funktioniert, fügen Sie Ihrem PFAD "~ / .local / bin" hinzu. Hier wird es auf der Shell ausgeführt, aber wenn es bei jeder Anmeldung angezeigt wird Es ist notwendig, in der Einstellungsdatei wie angewiesen zu beschreiben.

PFAD hinzufügen


$ export PATH=/home/hoge/.local/bin:$PATH
$ echo $PATH
/home/hoge/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Jetzt können Sie loslegen. Installieren Sie die Pakete, die Sie mit pipsi verwalten möchten.

Paketinstallation


$ pipsi install flake8
$ which flake8
/home/hoge/.local/bin/flake8

Sie können sehen, dass es nicht im System-Pip enthalten ist.

Bestätigung von pip


$ pip list
pip (8.1.2)
setuptools (20.10.1)
virtualenv (15.0.3)

Fazit

Obwohl die Anzahl der Einweg-Server gestiegen ist und die Paketverwaltung etwas rau geworden ist. Es scheint nützlich zu sein, wenn Sie in einer gemeinsamen Umgebung entwickeln. Selbst diejenigen, die Python nicht schreiben, können damit Tools wie httpie und mycli verwalten.

Recommended Posts

pipsi: Verwenden Sie das Paket, ohne das System zu verschmutzen
Pakete mit pip3 installieren
Verwenden Sie pip mit MSYS2
Verwenden Sie pip unter Windows
Installieren Sie Pakete, die pip nicht im Azure App Service verwenden können