Ubuntu ailesi, Debian, Linux Mint kullanıcıları için
Anthony'nin yukarıdaki açıklaması sayesinde , orijinal sistem pipinizi (/ usr / bin / ve dist-paketleri / içinde) koruyabilir ve çakışmayı çözmek için elle kurulan pip'i (~ / .local /) kaldırabilirsiniz:
$ python3 -m pip uninstall pip
Ubuntu / Debian pip v8.1.1 (16.04) python3-pip
Debian paketi (bkz $ pip3 -V
) son pip v10.0.1 aynı arama sonuçları gösterir ve sadece iyi PyPI son modüllerini yükler. İşe yarayan bir sahiptir pip
(zaten $ PATH) komutu, ayrıca güzel --user
baktığımızda 2016 yılından bu yana yamalı-varsayılan olarak seçeneğini pip sürüm notları , yeni sürümleri, kullanım-vaka özgü hata düzeltmeleri ve bazı yeni özellikler hakkında çoğunlukla yani değil herkes henüz pip yükseltme acele etmek zorunda. Ve yeni pip 10 yine de Python virtualenvs'e yerleştirilebilir.
Ancak piplere bakılmaksızın, işletim sisteminiz, pip gerektirmeden APT ile ortak Python modüllerini (numpy dahil) hızlı bir şekilde kurmanıza izin verir, örneğin:
$ sudo apt install python3-numpy python3-scipy
(sistem bağımlılıkları ile)
$ sudo apt install python3-pip
(Debian yamalı pip, biraz daha eski ama önemli değil)
Hızlı uygun sözdizimi hatırlatıcısı (lütfen man apt
ayrıntılar için bkz .):
$ sudo apt update
(Ubuntu paket dizin dosyalarını güncel kaynaklardan yeniden senkronize etmek için)
$ apt search <python-package-name>
(mevcut tüm paketlerde tam metin araması)
$ apt show <python-package-name>
(ayrıntılı paket açıklamasını görüntüler)
$ sudo apt install <python-package-name>
Ön ekli paket adları python-
Python 2 içindir; ve ön python3-
ekiyle Python 3 içindir (örneğin python3-pandalar). Binlercesi var ve Debian ve Ubuntu'da entegrasyon testine tabi tutuluyorlar. Kullanıcı başına ( pip install --user
isteğe bağlı) veya virtualenv / venv içine kurulum yapmaya çalışmadığınız sürece, apt ihtiyacınız olan şey olabilir. Gibi bu sistem paketleri, çok sanal ENVS erişilebilir Virtualenv incelikle ENV modüllerin kopyalarını verdik yoksa ithalat sistem kütüphanelerini kullanmaya geri düşecek. Kullanıcı tarafından özel olarak yüklenen (pip'li --user
) modülleriniz de ~/.local/lib
bunları geçersiz kılar.
Bu, sistem çapında bir kurulum olduğundan, bunları nadiren kaldırmanız gerekir (işletim sistemi bağımlılıkları konusunda dikkatli olmanız gerekir). Bu, APT gerekli tüm sistem kütüphanelerini ve C uzantılarını takip edip sağlayacağından, pip ile böyle bir garantiniz olmadığından , birçok sistem bağımlılığına sahip paketler için (scipy veya matplotlib gibi) uygundur .
Aslında, sistem genelindeki Python paketleri için (kullanıcı başına, giriş düzeyi veya daha düşük seviyenin aksine), Ubuntu, işletim sisteminin bozulmasını önlemek için APT paket yöneticisini (yerine ) kullanmayı beklersudo pip
: APT'nin işletim sistemini depoladığı dizini sudo pip3
hedefler /usr/lib/python3/dist-packages
duyarlı modüller. Son Debian / Ubuntu sürümleri büyük ölçüde Python 3'e bağlıdır, bu nedenle önceden yüklenmiş modülleri tarafından yönetilir apt
ve değiştirilmemelidir.
Bu nedenle pip3 install
, komut kullanıyorsanız, lütfen virtualenv ( sudo apt install python3-virtualenv
) veya Python3 yerleşik ( ) gibi yalıtılmış bir sanal geliştirme ortamında -m venv
veya kullanıcı başına düzeyde ( --user
pip seçeneği, varsayılan Ubuntu tarafından sağlanan ) çalıştığından emin olun. pip 2016'dan beri), ancak sistem çapında değil (asla sudo pip3
!), çünkü pip APT paket yöneticisinin çalışmasına müdahale eder ve sistem tarafından kullanılan bir python modülü beklenmedik şekilde değiştirildiğinde Ubuntu OS bileşenlerini etkileyebilir . İyi şanslar!
P. S. Yukarıdakilerin hepsi 'ideal' çözüm içindir (Debian / Ubuntu yolu).
Eğer varsa yine münhasıran yeni PIP3 v10 kullanmak istiyorum, 3 hızlı çözüm yolu vardır:
- yeni bir bash oturumu açmanız (yeni bir terminal sekmesi veya türü
bash
) - ve pip3 v10 kullanılabilir hale gelir (bkz. pip3 -V
). debian'ın pip3 v8'i kurulu olarak kalır ancak arızalıdır; veya
$ hash -d pip3 && pip3 -V
$ PATH içinde pip3 yol adını yenileme komutu . debian'ın pip3 v8'i kurulu olarak kalır ancak arızalıdır; veya
$ sudo apt remove python3-pip && hash -d pip3
debian'ın pip3 v8'ini yeni pip3 v10'unuz lehine tamamen kaldırma komutu .
Not:--user
Sanal ortamda bulunmadığınız sürece, debian tarafından sağlanan herhangi bir pip'e her zaman bayrak eklemeniz gerekir ! ( ~/.local/
2016'dan beri debian / ubuntu tarafından sağlanan python3-pip ve python-pip'de python paketlerini kullanır ). Virtual 10 dışında sistem genelinde pip 10 kullanımınız Ubuntu / Debian tarafından gerçekten desteklenmemektedir. Asla sudo pip3
!
Diğer ayrıntılar:
https://github.com/pypa/pip/issues/5221#issuecomment-382069604
https://github.com/pypa/pip/issues/5240#issuecomment-381673100