Pip paketlerini nereye kurar?


323

Pip'in kurulu olduğu bir sanal ağı etkinleştirdim. yaptım

pip3 install Django==1.8

ve Django başarıyla indirildi. Şimdi Django klasörünü açmak istiyorum. Klasör nerede bulunur? Normalde "indirmelerde" olurdu ama ben bir virtualenv pip kullanarak yüklersem nerede olacağını emin değilim.


1
Paketlerin yükleneceği dizin CLI argümanları, ortam değişkenleri veya bir yapılandırma dosyası ile geçersiz kılınabilir mi?
— John Carrell

Yanıtlar:


108

virtualenv ile kullanıldığında pip genellikle paketleri pakete yükleyecektir <virtualenv_name>/lib/<python_ver>/site-packages.

Örneğin, Python 2.7 ile venv_test adlı bir test sanal dosyası oluşturdum ve klasör içeride .djangovenv_test/lib/python2.7/site-packages/django


1
Bazen Jupyterhub / binderhub ortaya çıkan kaynaklarla kullanmak gibi sanal ad / yolu bilmiyor olabilirsiniz. Yol 1. bulundu burada zaman işe pip showhiçbir şey yapmadı. Kısaca, uygun python konsolunu girip yazmayı içerir help("module_name"); burada module_name, ilgilendiğiniz gerçek modül adıyla değiştirilir. Kurulu modülleri help("modules")python konsolunda görebilirsiniz.
— Wayne

1
Virtualenv'inizi hangi yolla oluşturdunuz? Sanal ortamımı oluşturmak için conda kullanıyorum, pip3 bahsettiğiniz klasöre paket yüklemedi
— cloudscomputes

O zamanlar (neredeyse 4 yıl önce), virtualenv ve Python 2.x kullanıyordum . Şimdi venv ve Python 3.5.x kullanıyorum. Yine de aynı genel klasör yapısını buluyorum. Anaconda ile, bu küratörlü, farklı bir dağılım, bu yüzden işleri en azından kısmen farklı şekilde yapılandırabilir.
— khampson

583

Yoğun talep üzerine, gönderilen cevap yoluyla sunulan bir seçenek:

pip show <package name>Windows ve macOS için konum sağlayacaktır ve herhangi bir sistemi tahmin ediyorum. :)

Örneğin:

> pip show cvxopt
Name: cvxopt
Version: 1.2.0
...
Location: /usr/local/lib/python2.7/site-packages

15
Mac'te bu bana awscli kaynak kodu olan bir dizin gösterdi, ancak ikili değil. : /
— Cory Klein

8
Doğru, ancak sorulan soruya tam olarak uymak için olmalıpip3 show <package name>
— Jorge Torres

1
Windows üzerinde python 3.6 kullanıyorum ve "pip" python 3 için pip anlamına gelir. "pip3" belirtmek gerekmez.
— FistOfFury

7
@CoryKlein Daha ziyade site-packages/, buldum~/Library/Python/3.7/bin/
— Matt Fletcher

2
— Ubuntu

47

pip list -vhttps://pip.pypa.io/en/stable/news/#b1-2018-03-31'de tanıtılan paketlerin yükleme konumlarını listelemek için kullanılabilir

Liste komutu “-v” seçeneğiyle çalıştırıldığında yükleme konumlarını göster. (# 979)

>pip list -v
Package                  Version   Location                                                             Installer
------------------------ --------- -------------------------------------------------------------------- ---------
alabaster                0.7.12    c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
apipkg                   1.5       c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
argcomplete              1.10.3    c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
astroid                  2.3.3     c:\users\me\appdata\local\programs\python\python38\lib\site-packages pip
...

Güncelleme : Bu özellik pip10.0.0b1'de tanıtılmaktadır . Ubuntu 18.04 tarihinde, pipveya pip3birlikte yüklenir sudo apt install python-pipveya sudo apt install python3-pipbu özelliği yoktur 9.0.1 olduğunu. Kontrol https://github.com/pypa/pip/issues/5599 yükseltme uygun yollar pipveya pip3.


4
Ne yazık ki, bu Ubuntu 18.04LTS
— Sumanth Lazarus

3
Benim için kurulum konumunu göstermiyor (Linux Mint
— 19.3'te

pipKullanarak yüklü sudo apt install python-pipveya sudo apt install python3-pip9.0.1 olduğunu. Kontrol github.com/pypa/pip/issues/5599 yükseltme uygun yollar pipveya pip3.
— jiasli

11

Linux'ta Pip, varsayılan olarak /usr/local/lib/python2.7/dist-packages paketlerini kurar.

Yükleme sırasında virtualenv veya --user kullanılması bu varsayılan konumu değiştirir. Eğer kullanırsanız pip showbaşka emin doğru kullanıcıyı kullandığınız markasını veya pip, başvuran paketleri göremeyebilirsiniz.


7

Bir Python yorumlayıcısında veya komut dosyasında şunları yapabilirsiniz:

import site
site.getsitepackages() # list of global package locations

ve

site.getusersitepackages() #string for user-specific package location

konumlar için 3. taraf paketleri (çekirdek Python dağıtımında olmayanlar) yüklenir.

MacOS'ta Brew yüklü Python'umda eski çıktılar

['/usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages'],

pip showönceki cevapta belirtildiği gibi aynı yol çıktısına standartlaştırır :

$ readlink -f /usr/local/Cellar/python/3.7.4/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
/usr/local/lib/python3.7/site-packages

Referans: https://docs.python.org/3/library/site.html#site.getsitepackages

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.