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.