Jaki jest najlepszy sposób instalacji pakietów Python w Ubuntu 11? Jestem niedawnym przejściem na Ubuntu i chcę poznać najlepsze praktyki.
W kontekście chcę zainstalować pakiet tweeststream, ale nie widziałem go w moim menedżerze pakietów Synaptic. Ponadto jestem nowy w programowaniu, ale zwykle mogę śledzić przykłady kodu.
Odpowiedzi:
Myślę, że najlepszym sposobem dla ciebie byłoby zainstalowanie systemu pakowania Python, takiego jak „python-pip”. Możesz zainstalować go za pomocą Synaptic lub Ubuntu Software Center.
Pip pozwoli ci na łatwą instalację i deinstalację pakietów Pythona, tak jak
pip install package
. W twoim przypadku byłoby to coś takiego z terminala:źródło
sudo pip <anything>
powinno być stosowane bardzo ostrożnie. Ponieważtweetstream
nie ma go w Centrum oprogramowania Ubuntu , polecam korzystanie z virtualenv . tweetstream użytkownikasetup.py
wymagaanyjson
który jest Pakiet Ubuntu . Brak instalacji tweetstream w avirtualenv
może spowodować awarię innych aplikacji Ubuntuanyjson
. Rozwiąż trudne problemy.sudo pip
na Ubuntu. @MarkMikofski: nie potrzebujesz virtualenv (chyba że chcesz go z jakiegoś konkretnego powodu).python -mpip install --user package-name
może zainstalować pakietpackafe-name
dla bieżącego użytkownika. Jeśli istnieją złożone (duże rozszerzenia C) zależności; można je zainstalować przy użyciuapt-get
, aby uniknąć instalowania zależności kompilacji, chyba że jest to konieczne.zaktualizowano: 2019-05-11: W tym poście głównie wspomniano
virtualenv
, ale zgodnie z dokumentacją Pythona dotyczącą instalacji modułu , ponieważ Python 3.5 „użycievenv
jest teraz zalecane do tworzenia środowisk wirtualnych”, podczas gdyvirtualenv
jest alternatywą dla wersji Pythona wcześniejszych niż 3.4 .aktualizacja: 2018-08-17: od Conda-4.4.0 użytku
conda
doactivate
anakonda na wszystkich platformachaktualizacja: 27.03.2017: PEP 513 -
manylinux
pliki binarne dla PyPIzaktualizowano: 19.08.2016: Opcja Continuum Anaconda
Jest to w pewnym sensie duplikat easy_install / pip lub apt-get .
W przypadku globalnych pakietów Python użyj Centrum Ubuntu, apt, apt-get lub synaptic
Ubuntu używa Pythona do wielu ważnych funkcji, dlatego zakłócanie działania Pythona może uszkodzić system operacyjny. To jest główny powód, nigdy nie używać
pip
w moim systemie Ubuntu, ale zamiast używać zarówno Centrum Oprogramowania Ubuntu, Synaptic ,apt-get
lub po prostu nowszaapt
, które domyślnie instalować pakiety z repozytorium Ubuntu . Te pakiety są testowane, zwykle wstępnie skompilowane, więc instalują się szybciej i ostatecznie są zaprojektowane dla Ubuntu. Ponadto instalowane są również wszystkie wymagane zależności i prowadzony jest dziennik instalacji, aby można je było przywrócić. Myślę, że większość pakietów ma odpowiadające repozytoria Launchpad, więc możesz zgłaszać problemy.Innym powodem korzystania z jednego z pakietów Ubuntu jest to, że czasami te pakiety Python mają różne nazwy w zależności od tego, skąd je pobrałeś. Python-chardet to przykład pakietu, który kiedyś został nazwany jedną rzeczą w PyPI i inną rzeczą w repozytorium Ubuntu. Dlatego robienie czegoś podobnego
pip install requests
nie uświadomi sobie, że chardet jest już zainstalowany w twoim systemie, ponieważ wersja Ubuntu ma inną nazwę, a zatem instaluje nową wersję, która uszkodzi twój system w nieznaczny, nieznaczący sposób, ale nadal dlaczego to zrobiłeś.Ogólnie rzecz biorąc, chcesz zainstalować tylko zaufany kod w swoim systemie operacyjnym. Tak powinno być nerwowy o wpisywanie
$ sudo pip <anything-could-be-very-bad>
.Wreszcie niektóre rzeczy są po prostu łatwiejsze do zainstalowania przy użyciu jednego z pakietów Ubuntu. Na przykład, jeśli spróbujesz
pip install numpy
zainstalować numpy & scipy, chyba że zainstalowałeś już gfortran, atlas-dev, blas-dev i lapack-dev, zobaczysz niekończący się strumień błędów kompilacji. Jednak instalacja numpy & scipy za pośrednictwem repozytorium Ubuntu jest tak prosta, jak ...Masz szczęście, ponieważ używasz Ubuntu, jednej z najczęściej obsługiwanych i często aktualizowanych istniejących dystrybucji. Najprawdopodobniej każdy potrzebny pakiet Pythona znajduje się w repozytorium Ubuntu i prawdopodobnie jest już zainstalowany na twoim komputerze. Co 6 miesięcy ukaże się nowy cykl pakietów z najnowszą dystrybucją Ubuntu.
Jeśli masz 100% pewności, że pakiet nie będzie w żaden sposób kolidował z systemem Ubuntu, możesz zainstalować go za pomocą pipa, a Ubuntu jest na tyle fajne, aby oddzielić te pakiety od pakietów dystrybucyjnych, umieszczając pakiety dystrybucyjne w folderze o nazwie
dist-packages/
. Repozytorium Ubuntu zawiera zarówno pip, virtualenv, jak i setuptools. Opieram się jednak na sugestii Wojciecha, by użyć virtualenv.Do osobistych projektów Pythona używaj pip i wheel w virtualenv
Jeśli potrzebujesz najnowszej wersji lub modułu nie ma w repozytorium Ubuntu, uruchom virtualenv i użyj pipa, aby zainstalować pakiet. Mimo że pip i setuptools się połączyły, IMO pip jest lepszy niż łatwy w instalacji lub distutils, ponieważ zawsze będzie czekał, aż pakiet zostanie całkowicie pobrany i zbudowany, zanim skopiuje go do systemu plików, i sprawia, że aktualizacja lub odinstalowanie jest dziecinnie proste. Pod wieloma względami jest podobny do apt-get, ponieważ ogólnie dobrze radzi sobie z zależnościami. Jednak być może
będzieszmusiał poradzić sobie z niektórymi zależnościami, ale odkąd PEP 513 został przyjęty, teraz w Pythonie Package Index (PyPI) istnieją pliki binarne dla popularnych dystrybucji Linuksa, takich jak Ubuntu i Fedora .manylinux
na przykład, jak wspomniano powyżej dla NumPy i SciPy, upewnij się, że zainstalowałeś gfortran, atlas-dev, blas-dev i lapack-dev z repozytorium UbuntuNa przykład, zarówno NumPy , jak i SciPy są teraz domyślnie dystrybuowane dla Ubuntu jakomanylinux
koła za pomocą OpenBLAS zamiast ATLAS. Nadal możesz je budować ze źródła, używając opcji pip--no-use-wheel
lub--no-binary <format control>
.Zobacz następną sekcję „Nie jesteś w
sudoers
” poniżej, aby zainstalować zaktualizowane wersje pipa, setuptools, virtualenv lub kół do swojego profilu osobistego przy użyciu--user
schematu instalacji z pipem. Możesz użyć tego do aktualizacji pipa na własny użytek, jak JF Sebastian wskazał w swoim komentarzu do innej odpowiedzi . UWAGA:-m
tak naprawdę jest to konieczne tylko w MS Windows podczas aktualizacji pip .Nowsze wersje pipa automatycznie buforują koła, więc poniższe informacje są przydatne tylko dla starszych wersji pip. Ponieważ może się to zdarzyć instalować wiele razy, rozważ użycie koła z pipem do stworzenia sterówki. Koło jest już zawarte w wersji
virtualenv
13.0.0, dlatego jeśli twoja wersjavirtualenv
jest za stara, być może trzeba najpierw zainstalować koło.Spowoduje to utworzenie plików binarnych koła
<cwd>/wheelhouse
, użyj-d
do określenia innego katalogu. Teraz, jeśli uruchomisz kolejną wirtualną wersję i potrzebujesz tych samych pakietów, które już zbudowałeś, możesz zainstalować je ze sterówkipip install --find-links=<fullpath>/wheelhouse
Przeczytaj Instalowanie modułów Python w dokumentacji Python i Instalowanie pakietów na stronie głównej indeksu pakietów Python . Również pip , venv , virtualenv i koło .
Jeśli nie jesteś w
sudoers
ivirtualenv
nie jest zainstalowany.Inna opcja korzystania ze środowiska wirtualnego lub jeśli używasz udziału Linux bez uprawnień roota, to użycie schematów instalacyjnych
--user
lub--home=<wherever-you-want>
Python z Pythonemdistutils
zainstaluje pakiety do wartościsite.USERBASE
lub do dowolnego miejsca. Nowsze wersje pipa mają również--user
opcję. Nie używajsudo
!Jeśli wersja Linux PIP jest zbyt stary, potem można przekazać za pomocą opcji konfiguracji
--install-option
, który jest przydatny do przekazywania niestandardowe opcje do pewnychsetup.py
skryptów dla niektórych pakietów rozszerzeń budować, takie jak ustawieniePREFIX
. Może być konieczne wyodrębnienie dystrybucji i użycie jejdistutils
do zainstalowania pakietu w oldschoolowy sposób, piszącpython setup install [options]
. Pomocne może się okazać przeczytanie dokumentacji instalacyjnej idistutils
dokumentacji .Python jest wystarczająco miły, aby dodawać
site.USERBASE
do twojejPYTHONPATH
przewagi nad czymkolwiek innym, więc zmiany wpłyną tylko na ciebie. Popularną lokalizacją--home
jest~/.local
. Zobacz instrukcję instalacji modułu Python , aby uzyskać dokładną strukturę plików i miejsce, w którym znajdują się pakiety witryny. Uwaga : w przypadku korzystania z--home
programu instalacyjnego, a następnie może być konieczne, aby dodać go doPYTHONPATH
zmiennej środowiskowej stosującexport
w swojej.bashrc
,.bash_profile
lub w powłoce dla lokalnych pakietów będzie dostępna w Pythonie.Używaj Continuum Anaconda Python do matematyki, nauki, danych lub projektów osobistych
Jeśli używasz Pythona do matematyki, nauki lub danych, IMO naprawdę dobrą opcją jest Anaconda-Python Distribution lub bardziej podstawowa dystrybucja miniconda wydana przez Anaconda, Inc. (wcześniej znana jako Continuum Analytics ) . Chociaż każdy może skorzystać z Anacondy do osobistych projektów, domyślna instalacja zawiera ponad 500 pakietów matematycznych i naukowych, takich jak NumPy, SciPy, Pandas i Matplotlib , podczas gdy miniconda instaluje tylko Anaconda-Python i menedżera środowiska conda. Anaconda instaluje się tylko w twoim osobistym profilu, tj .:
/home/<user>/
izmienia twojąrekomendacji pozyskiwania~/.bashrc
lub~/.bash_profile
przedłuża ścieżkę Anacondy do twoich osobistych$PATH
conda.sh
w twoim,~/.bashrc
który pozwala ci użyćconda activate <env|default is base>
do uruchomienia anakondy - dotyczy to tylko ciebie - twoja ścieżka systemowa pozostaje niezmieniona . W związku z tym zrobisz nie potrzebują dostępu korzeń lubsudo
korzystać Anaconda! Jeśli już dodałeś Anaconda-Python, miniconda lub conda do swojej osobistej ścieżki, powinieneś usunąćPATH
eksport ze swojej~/.bashrc
i zaktualizować do nowej rekomendacji , aby Python systemowy był ponownie pierwszy.Jest to nieco podobne do
--user
opcji, którą wyjaśniłem w ostatniej sekcji, z tą różnicą, że dotyczy Pythona jako całości, a nie tylko pakietów. Dlatego Anaconda jest całkowicie oddzielna od twojego systemowego Pythona , nie będzie zakłócać twojego systemowego Pythona i tylko Ty możesz go używać lub zmieniać. Ponieważ instaluje nową wersję Pythona i wszystkich jego bibliotek, potrzebujesz co najmniej 200 MB miejsca, ale jest bardzo sprytny w buforowaniu bibliotek i zarządzaniu nimi, co jest ważne dla niektórych fajnych rzeczy, które możesz zrobić z Anacondą.Anaconda organizuje zbiór plików binarnych i bibliotek Pythona wymaganych przez zależności w repozytorium online (wcześniej nazywanym binstar ) , a także hostuje pakiety użytkowników jako różne „kanały”. Menedżer pakietów używany przez Anacondę
conda
domyślnie instaluje pakiety z Anacondy, ale możesz zasygnalizować inny „kanał” używając tej-c
opcji.Instalować pakiety z
conda
jakpip
:Ale
conda
może zrobić o wiele więcej! Może także tworzyć i zarządzać wirtualnymi środowiskami tak jakvirtualenv
. Dlatego, ponieważ Anaconda tworzy środowiska wirtualne,pip
menedżera pakietów można użyć do zainstalowania pakietów z PyPI w środowisku Anaconda bez rootowania lubsudo
. Czy nie korzystaćsudo
z Anaconda! Ostrzeżenie! Czy być ostrożny podczas mieszaniapip
iconda
w środowisku Anaconda, b / c trzeba będzie bardziej ostrożnie zarządzać zależnościami pakietów. Inną opcjąpip
w środowisku conda jest użycie kanału conda-forge, ale najlepiej też zrobić to w świeżym środowisku conda z domyślnym kanałem conda-forge. W ostateczności, jeśli nie możesz znaleźć pakietu nigdzie poza PyPI, rozważ użycie,--no-deps
a następnie ręcznie zainstaluj pozostałe zależnościconda
.Anaconda jest również pod pewnymi względami podobna do Ruby RVM, jeśli znasz to narzędzie. Anaconda
conda
pozwala także tworzyć środowiska wirtualne z różnymi wersjami Pythona . np . :conda create -n py35sci python==3.5.2 numpy scipy matplotlib pandas statsmodels seaborn
utworzy stos danych naukowych / naukowych przy użyciu języka Python-3.5 w nowym środowisku o nazwiepy35sci
. Możesz przełączać środowiska za pomocąconda
. Od Conda-4.4.0, jest teraz inna navirtualenv
który używasource venv/bin/activate
, ale poprzedni do Conda-4.4.0 teconda
polecenia były takie same , jakvirtualenv
i również używanesource
:Ale czekaj, jest więcej! Anaconda może także instalować różne języki, takie jak R do programowania statystycznego z kanału Anaconda
r
. Możesz nawet skonfigurować własny kanał do przesyłania dystrybucji pakietów zbudowanych dla conda . Jak wspomniano, conda-forge utrzymuje zautomatyzowane kompilacje wielu pakietów na PyPI na kanale Anaconda conda-forge .Epilog
Istnieje wiele opcji utrzymania projektów Python w systemie Linux w zależności od osobistych potrzeb i dostępu. Jeśli jednak jest jedna rzecz, mam nadzieję, że odejmiesz od tej odpowiedzi, to prawie nigdy nie powinieneś używać
sudo
do instalowania pakietów Pythona . Korzystanie zsudo
powinno być dla ciebie zapachem , że coś jest nie tak. Zostałeś ostrzeżony.Powodzenia i szczęśliwego kodowania!
źródło
sudo
ing wokół zpip
. Świetne napisanie, dziękuję za tę informację.pip install numpy
powinien zainstalować wszystkie zależnościpip install <package>
instalowane będą tylko zależności pakietu Pythona wymienione winstall_requires
sekcjisetup.py
. Na przykład: zainstalowanie Jupyter nie zainstaluje pandoc biblioteki Haskell w celu wyeksportowania notatników Jupyter jako LaTeX itp.conda install <package>
prawdopodobnie zainstaluje wszystkie zależności, w tym C / C ++, FORTRAN itp., Nawet biblioteki Haskell, ponieważ conda nie tylko zarządza pakietami Python, takimi jak pip, ale zarządza środowiskami. Więc jeśli miałeś Anacondę lub Minicondę, toconda install Jupyter
instaluje wszystko w pliku przepisumeta.yml
, w tym bibliotekę pandoc Haskell . Aby uzyskać więcej informacji, zobacz PyPAOprócz dodania Novarchibald, ogólnie dobrym pomysłem jest stworzenie środowiska wirtualnego dla twojego projektu Python i zainstalowanie w nim zależności. Pozwala to na lepszą kontrolę nad zależnościami i ich wersjami. Aby skonfigurować środowisko wirtualne, wprowadź:
Następnie aktywuj go za pomocą:
W tym momencie wszystko, co zainstalujesz za pomocą pip, będzie przechowywane w tym środowisku wirtualnym. Jeśli chcesz zainstalować coś globalnie, powinieneś najpierw wyjść z virtualenv za pomocą:
Możesz dowiedzieć się więcej o virtualenv tutaj .
źródło
virtualenv
opcje--no-site-packages
i--distribute
są obecnie przestarzałe i nie mają już żadnego efektu.Oprócz odpowiedzi Zetah'a, polecenie instalacji python-pip z terminala to:
źródło
Wypróbuj to środowisko GUI dla PIP opracowane przy użyciu PyQt4
Struktura GUI dla PIP opracowana przy użyciu PyQt4
Ekran startowy
Ekran startowy zawiera opcje umożliwiające użytkownikowi wybranie procesu, który chce zostać przeprowadzony.
Można również określić wersję Pythona, na której chce się wykonywać operacje.
Menu pliku ma opcję „Wyjdź” (skrót: Ctrl + Q) i „Odśwież listy”, która odświeża pliki zasobów zawierające dane pakietu.
Ekran instalacyjny
Na ekranie instalacji znajduje się pasek wyszukiwania, za pomocą którego użytkownik może wyszukiwać i instalować żądane pakiety.
Ekran aktualizacji
Ekran aktualizacji wyświetla listę pakietów, które są nieaktualne i można je zaktualizować.
Odinstaluj Screem
Na ekranie odinstalowywania wyświetlana jest lista pakietów, które są zainstalowane w systemie użytkownika i można je odinstalować.
Okno postępu
Okno postępu to wbudowany widget terminala dla PIP-GUI, który wyświetla procesy uruchomione podczas wykonywania operacji.
źródło