Python site-paketi dosyaları hangi klasördedir?

Python’da genel ve kullanıcı olmak üzere iki tür site paketi dizini bulunur.

İlişkili olduğu konular : how to, nasıl

Python’da genel ve kullanıcı olmak üzere iki tür site paketi dizini bulunur.

  1. Genel site-paketleri (“dist paketleri“) sys.path ile listelenir
python -m site

Python kodu ile site modülünden çalıştırılan daha kısa bir liste için ise getsitepackages kullanılabilir:

python -c 'import site; print(site.getsitepackages())'

Not: getsitepackages Virtualenvs ile mevcut değil. Yine de yukarıdaki kod virtualenv’in site paketleri dizinini doğru bir şekilde listeler. Python 3’te bunun yerine sysconfig modülini kullanabilir:sys.path

python3 -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])'

2. Kullanıcı site paketleri dizini (PEP 370) ise, Python’un yerel paketlerinizi yüklediği yerdir:

python -m site --user-site

Bu komut varolmayan bir dizine işaret ediyorsa Python çıktısını denetleyin ve açıklamalar için bakın: python -m site --help

İpucu: pip list --user veya pip freeze --user kullanıcı için yüklenen tüm site paketlerinin listesini verir.

Python’da spesifik bir paketin yüklendiği dizin nasıl bulunur?

<package>.__path__ belirli bir paketin konumlarını tanımlamanızı sağlar:

$ python -c "import setuptools as _; print(_.__path__)"
['/usr/lib/python2.7/dist-packages/setuptools']

Python’da spesifik bir modülün yüklendiği dizin nasıl bulunur?

<module>.__file__ belirli bir modülün konumunu belirlemenizi sağlar:

$ python3 -c "import os as _; print(_.__file__)"
/usr/lib/python3.6/os.py

Debian stili paket bilgilerini göstermek için ise pip show <package> komutunu çalıştırın:

$ pip show pytest
Name: pytest
Version: 3.8.2
Summary: pytest: simple powerful testing with Python
Home-page: https://docs.pytest.org/en/latest/
Author: Holger Krekel, Bruno Oliveira, Ronny Pfannschmidt, Floris Bruynooghe, Brianna Laugher, Florian Bruhin and others
Author-email: None
License: MIT license
Location: /home/peter/.local/lib/python3.4/site-packages
Requires: more-itertools, atomicwrites, setuptools, attrs, pathlib2, six, py, pluggy

Sanal ortamdan bağımsız site-paket konumu nasıl bulunur?

stdlib yolu ile, sürüm 2.7 ve 3.2+’da bulunan sysconfig modülünü kullanabiliriz. Bu yöntem etkin bir sanal ortamınız olup olmadığına bakılmaksızın çalışır.

Python şu anda sekiz yol kullanıyor (dokümanlar):

  • stdlib: platforma özgü olmayan standart Python kitaplık dosyalarını içeren dizin.
  • platstdlib: platforma özgü standart Python kitaplık dosyalarını içeren dizin.
  • platlib: siteye özgü, platforma özgü dosyalar için dizin.
  • purelib: siteye özgü, platforma özgü olmayan dosyalar için dizin.
  • include: platforma özgü olmayan üstbilgi dosyaları için dizin.
  • platinclude: platforma özgü üstbilgi dosyaları için dizin.
  • komut dosyaları: komut dosyası dosyaları için dizin. (script)
  • veri: veri dosyaları için dizin. (data)

Çoğu kullanıcı ‘purelib’ yolu ile ilgilenecektir (bazı durumlarda, ‘platlib’ ile de ilgilenebilirsiniz). Bu yol, sıradan Python paketlerinin pip gibi araçlarla yüklanaceği yerdir.

Sistem düzeyinde şöyle bir şey görürsünüz:

# Linux
$ python3 -c "import sysconfig; print(sysconfig.get_path('purelib'))"
/usr/local/lib/python3.8/site-packages

# macOS (brew installed python3.8)
$ python3 -c "import sysconfig; print(sysconfig.get_path('purelib'))"
/usr/local/Cellar/python@3.8/3.8.3/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages

# Windows
C:\> py -c "import sysconfig; print(sysconfig.get_path('purelib'))"
C:\Users\wim\AppData\Local\Programs\Python\Python38\Lib\site-packages

Bir venv ile, böyle bir şey elde edersiniz

# Linux
/tmp/.venv/lib/python3.8/site-packages

# macOS
/private/tmp/.venv/lib/python3.8/site-packages

# Windows
C:\Users\wim\AppData\Local\Temp\.venv\Lib\site-packages

sysconfig.get_paths() işlevi, Linux’ta örnek olarak ilgili tüm yükleme yollarının bir kısmını döndürür:

>>> import sysconfig
>>> sysconfig.get_paths()
{'stdlib': '/usr/local/lib/python3.8',
 'platstdlib': '/usr/local/lib/python3.8',
 'purelib': '/usr/local/lib/python3.8/site-packages',
 'platlib': '/usr/local/lib/python3.8/site-packages',
 'include': '/usr/local/include/python3.8',
 'platinclude': '/usr/local/include/python3.8',
 'scripts': '/usr/local/bin',
 'data': '/usr/local'}

Modül olarak çağırılabilecek bir kabuk komut dosyası da bulunur: sysconfig

python -m sysconfig

Bu yazı topluluk tarafından oluşturuldu. Lisans bilgisine bakabilirsiniz. Yanlış veya eksik bilgileri düzenlemek için github üzerinden katkıda bulunabilirsiniz.

Kategoriler: Yazı, Python

Okumaya devam et!

Python’da listedeki öğelerin sayısını nasıl alabilirim?

Listenin boyutunu bulmak için yerleşik len() fonksiyonunu kullanın: Ve aşağıdaki kod çıktı olarak 3 döndürür: Açıklama Python’daki her şey listeler de dahil olmak üzere nesnedir.

Python101 – Merhaba, Dünya! – Python’da İlk Kod

Neler öğreneceksinizBu bölümü okuyup öğrendikten sonra programları bir metin düzenleyicisinde veya IDLE’da nasıl düzenleyeceğinizi, bunları sabit diske nasıl kaydedeceğinizi ve kaydettikten sonra nasıl çalıştıracağınızı öğreneceksiniz.

Pip kullanarak bir paket nasıl güncellenir/yükseltilir?

Pip kullanarak bir paketi güncellemenin yolu nedir? Bunun basit bir soru olduğunu biliyorum, ancak cevabı bulmak çok da kolay olmayabiliyor.

Python’da args ve kwargs kullanımı

args ve kwargs için sözdizimi * ve **‘dır; yani *args ve **kwargs.

Yorum Gönderin

E-posta hesabınız yayımlanmayacak.

koddla
Tema Mundana by WowThemes.net.