Jeśli nie potrzebujesz pakietów python dla wszystkich użytkowników, możesz zainstalować je w domu w następujący sposób:
pip install --user packagename
Instalowanie w domu nie spowoduje konfliktu z menedżerem pakietów.
Domyślnie pip install --user
zostanie zainstalowany w katalogu „witryna użytkownika”. Zwykle, że jest coś takiego jak: /home/lesmana/.local/lib/python3.6/site-packages
.
Następujące polecenie wydrukuje między innymi lokalizację „witryny użytkownika”:
python -m site
Aby dostosować lokalizację instalacji:
PYTHONUSERBASE=$HOME/some/dir pip install --user packagename
to zainstaluje wszystko pod $HOME/some/dir
biegać:
PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname
Więcej informacji znajduje się w instrukcji pip .
jeśli chcesz pakiet Pythona dla wszystkich użytkowników, najlepszym miejscem do jego instalacji jest /opt
. na przykład jak to:
PYTHONUSERBASE=/opt/packagedir pip install packagename
(zauważ brak --user
)
i uruchomić, jak wyżej:
PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname
Wyjaśnienie w tle: /opt
jest powszechnie uznawane przez dystrybucje gnu / linux za katalog, w którym lokalny użytkownik lub administrator systemu może zainstalować swoje własne rzeczy. innymi słowy: menedżer pakietów dystrybucji zwykle nie dotyka /opt
. jest to mniej więcej standaryzowane w standardzie hierarchii systemów plików
Dla wygody użytkowników nadal będziesz chciał napisać skrypt opakowujący i umieścić go w /bin
lub /usr/bin
. Wciąż istnieje ryzyko kolizji z menedżerem pakietów dystrybucyjnych, ale przynajmniej jest to tylko jeden plik skryptu opakowania. Zatem szkody, które można wyrządzić, są minimalne. Możesz nazwać skrypt opakowania czymś w rodzaju local-foo
lub w custom-foo
celu dalszego zminimalizowania ryzyka kolizji z menedżerem pakietu dystrybucyjnego.
Alternatywnie możesz zmodyfikować, PATH
aby uwzględnić /opt/bin
i umieścić tam skrypt otoki. Ale to znowu wymaga zmodyfikowania (lub niektórych) plików systemowych, które PATH
są zdefiniowane i które mogą zostać zastąpione przez menedżera pakietów dystrybucyjnych.
W skrócie: jeśli chcesz zainstalować dla wszystkich użytkowników, zrób to w /opt
. Tam, gdzie umieszczasz skrypt otoki dla wygody, jest wezwanie do osądu.
Więcej informacji na temat /opt
standardu hierarchii systemu plików:
python
i żałuję, że nie wiedziałem o tym przedsudio
wypipowaniem rzeczy. Dzięki za to.Zazwyczaj w dystrybucji zaleca się użycie menedżera pakietów tej dystrybucji. Możesz oczywiście zainstalować rzeczy za pomocą pip (lub, w świecie perla, cpan) lub skompilować i zainstalować rzeczy samodzielnie. Jednak po wykonaniu tej czynności menedżer pakietów dystrybucji nie wie o nich i nie może zarządzać dla nich zależnościami ani aktualizacjami.
Korzystanie z pip jest prawie równoważne z kompilacją i instalacją własnego pakietu. Zrób to, jeśli potrzebujesz, ale wolisz menedżera pakietów dystrybucji.
źródło
pip
(przynajmniej globalnie przezsudo
lub jako root) - Właśnie dostałem sporosite-package/...
już istniejących błędów, gdypacman
próbowałem zainstalować pewne zależnościWłaściwy sposób dla ArchLinux
Właściwym sposobem instalacji pakietów PYTHON w ArchLinux jest użycie PACMAN! Aby zainstalować pakiety w Python3, musisz użyć
Jeśli chcesz zainstalować pakiety z Python2, musisz użyć
Większość pakietów Pythona znajduje się w repozytoriach ArchLinux, a pakietów, które nie znajdują się w AUR (Repozytoria użytkowników ArchLinux) - w przypadku tych pakietów należy pobrać plik PKGBUILD i skompilować. Następnie musisz użyć PACMAN, aby zakończyć instalację
Drugi właściwy sposób dla ArchLinux
Kiedy pakiet nie znajduje się w AUR lub PKGBUILD nie działa, możesz użyć PIP, aby zainstalować go w Python3
lub Python2
Możesz dać szansę,
virtualenv
a nawetconda
W Arch możesz także korzystać z VirtualEnvironments. Może to zapewnić przenośność twojego kodu i utrzymanie starych pakietów. Zainstaluj za pomocą
i spróbuj tego
Podczas tworzenia tego środowiska
yourenv
skonfigurujeszpip
instalowanie pakietów tylko w tym środowisku, a nie w całym systemie.Te inne linki mogą być przydatne, jeśli chcesz dowiedzieć się więcej o zarządzaniu pakietami w systemie Linux za pomocą
conda
lubvirtualenv
:Instalowanie pakietów Python z notatnika Jupyter
Kod Python na ArchLinux
Jeśli będziesz przestrzegać tych zasad, twój ArchLinux nie ulegnie awarii i nie będzie miał problemów z zależnościami między PACMAN a PIP.
Mam nadzieję, że to przydatne!
źródło
W przypadku niektórych pakietów (tych, których najprawdopodobniej nie chcę hakować), tworzę własny pakiet, używając tego:
https://github.com/bluepeppers/pip2arch
następnie skompiluj i zainstaluj wyprodukowane PKGBUILD.
Opuszczam virtualenvs dla pakietów, które chciałbym zmodyfikować lub zhakować.
źródło
Oprócz innych odpowiedzi tutaj sprawdź
python-virtualenv
pakiet. Może to być bardzo przydatne, jeśli programujesz w kilku projektach o różnych zależnościach z niedopasowanymi numerami wersji.https://wiki.archlinux.org/index.php/Python_VirtualEnv
Uważaj też, że istnieją dwa warianty pip i virtualenv. Jeden dla Python 2 i jeden dla Python 3. Jeśli instalacja nie powiedzie się z powodu błędu składniowego, być może próbujesz z niewłaściwą wersją.
źródło