# Python Modüllerini Kurmak

E-posta:

  distutils-sig@python.org

Popüler bir açık kaynak geliştirme projesi olarak Python, yazılımlarını diğer Python geliştiricilerinin açık kaynak lisansı koşulları altında kullanmasını sağlayan, katkıda bulunanlardan ve kullanıcılardan oluşan aktif bir destekleyici topluluğa sahiptir.

Bu, Python kullanıcılarının etkin bir şekilde paylaşımda bulunmasına ve işbirliği yapmasına, başkalarının yaygın (ve hatta bazen nadir!) sorunlara yönelik oluşturduğu çözümlerden faydalanmasına ve potansiyel olarak ortak havuza kendi çözümleriyle katkıda bulunmasına olanak tanır.

This guide covers the installation part of the process. For a guide to creating and sharing your own Python projects, refer to the Python packaging user guide.

Not

Kurumsal kullanıcılar, birçok kuruluşun açık kaynak yazılımları kullanma ve bunlara katkıda bulunma konusunda kendi politikaları olduğunu unutmayın. Python ile sağlanan dağıtım ve kurulum araçlarını kullanırken lütfen bu tür politikaları dikkate alın.

## Anahtar terimler

- `pip`, tercih edilen yükleyici programıdır. Python 3.4’ten başlayarak, varsayılan olarak Python ikili yükleyicilerine dahil edilmiştir.

- virtual environment, paketlerin sistem genelinde kurulmak yerine belirli bir uygulama tarafından kullanılmak üzere kurulmasına izin veren yarı izole bir Python ortamıdır.

- `venv`, sanal ortamlar oluşturmaya yönelik standart bir araçtır ve Python 3.3’ten beri Python’un bir parçasıdır. Python 3.4’ten başlayarak, `pip` ‘in tüm oluşturulan sanal ortamlara yüklenmesi varsayılandır.

- `virtualenv`, `venv` ‘in üçüncü taraf alternatifidir (ve öncülüdür). `venv` ‘i hiç sağlamayan veya oluşturulan ortamlara `pip` ‘i otomatik olarak yükleyemeyen 3.4’ten önceki Python sürümlerinde sanal ortamların kullanılmasına izin verir.

- Python Package Index, diğer Python kullanıcılarının kullanımına sunulan, açık kaynaklı lisanslı paketlerin halka açık bir deposudur.

- Python Packaging Authority, standart paketleme araçlarının ve ilişkili meta veri ve dosya biçimi standartlarının bakımından ve geliştirilmesinden sorumlu geliştiriciler ve belge yazarları grubudur. Hem GitHub hem de Bitbucket ‘ta çeşitli araçlar, dokümantasyon ve sorun izleyicileri bulundururlar.

- `distutils`, Python standart kitaplığına ilk olarak 1998 yılında eklenen orijinal oluşturma ve dağıtım sistemidir. `distutils` ‘in doğrudan kullanımı aşamalı olarak kaldırılırken, mevcut paketleme ve dağıtım altyapısının temelini atmaya devam etmektedir, ve yalnızca standard kütüphanenin bir parçası olmakla kalmamakla birlikte adı başka şekillerde de yaşıyor (Python paketleme standartlarının geliştirilmesini koordine etmek için kullanılan posta listesinin adı gibi).

3.5 sürümünde değişti: Artık sanal ortamlar oluşturmak için `venv` ‘in kullanılması önerilir.

Ayrıca bakınız

Python Paketleme Kullanıcı Kılavuzu: Sanal ortamları oluşturma ve kullanma

## Temel kullanım

Standart paketleme araçlarının tümü, komut satırından kullanılmak üzere tasarlanmıştır.

Aşağıdaki komut, bir modülün en son sürümünü ve bağımlılıklarını Python Paket Dizininden yükleyecektir:

    python -m pip install SomePackage

Not

POSIX kullanıcıları için (macOS ve Linux kullanıcıları dahil), bu kılavuzdaki örneklerde bir virtual environment kullanıldığı varsayılmıştır.

Windows kullanıcıları için bu kılavuzdaki örneklerde, Python yüklenirken sistem PATH ortam değişkenini ayarlama seçeneğinin seçildiği varsayılmaktadır.

Doğrudan komut satırında tam veya minimum bir sürüm belirtmek de mümkündür. `>`, `<` gibi karşılaştırma operatörleri veya kabuk tarafından yorumlanan diğer bazı özel karakterler kullanılırken, paket adı ve sürüm çift tırnak içine alınmalıdır:

    python -m pip install SomePackage==1.0.4    # specific version
    python -m pip install "SomePackage>=1.0.4"  # minimum version

Normalde, uygun bir modül zaten kuruluysa, onu tekrar kurmayı denemenin bir etkisi olmaz. Mevcut modüllerin yükseltilmesi açıkça talep edilmelidir:

    python -m pip install --upgrade SomePackage

`pip` ve yapabilecekleri hakkında daha fazla bilgi ve kaynak Python Paketleme Kullanıcı Kılavuzu ‘nda bulunabilir.

Sanal ortamların oluşturulması, `venv` modülü aracılığıyla yapılır. Paketleri aktif bir sanal ortama kurmak, yukarıda gösterilen komutları kullanır.

Ayrıca bakınız

Python Paketleme Kullanıcı Kılavuzu: Python Dağıtma Paketlerini Kurma

## Nasıl yapabilirim …?

Bunlar, bazı genel görevler için hızlı cevaplar veya bağlantılardır.

### … `pip` ‘i Python 3.4’ten önceki Python sürümlerinde kurmalı mı?

Python, `pip` ‘i yalnızca Python 3.4 ile paketlemeye başladı. Önceki sürümler için, `pip` ‘in Python Paketleme Kullanıcı Kılavuzu’nda açıklandığı gibi “önyüklenmesi” gerekir.

Ayrıca bakınız

Python Paketleme Kullanıcı Kılavuzu: Paketleri Kurmak için Gerekenler

### … sadece mevcut kullanıcı için paketler kurabilirim?

`--user` seçeneğinin `python -m pip install` ‘e geçirilmesi, sistemin tüm kullanıcıları yerine yalnızca geçerli kullanıcı için bir paket yükleyecektir.

### … bilimsel Python paketleri kurabilirim?

Bir dizi bilimsel Python paketinin karmaşık ikili bağımlılıkları vardır ve şu anda doğrudan `pip` kullanılarak kurulumu kolay değildir. Bu noktada, kullanıcıların bu paketleri `pip` ile kurmaya çalışmak yerine başka yollar ile kurması genellikle daha kolay olacaktır.

Ayrıca bakınız

Python Paketleme Kullanıcı Kılavuzu: Bilimsel Paketler Kurma

### … paralel olarak yüklenmiş birden çok Python sürümüyle çalışabilirim?

Linux, macOS ve diğer POSIX sistemlerinde, `pip` ‘in uygun kopyasını çalıştırmak için `-m` anahtarıyla birlikte sürümlü Python komutlarını kullanın:

    python2   -m pip install SomePackage  # default Python 2
    python2.7 -m pip install SomePackage  # specifically Python 2.7
    python3   -m pip install SomePackage  # default Python 3
    python3.4 -m pip install SomePackage  # specifically Python 3.4

Uygun sürüme sahip `pip` komutları da mevcut olabilir.

Windows’ta, `py` Python başlatıcısını `-m` anahtarıyla birlikte kullanın:

    py -2   -m pip install SomePackage  # default Python 2
    py -2.7 -m pip install SomePackage  # specifically Python 2.7
    py -3   -m pip install SomePackage  # default Python 3
    py -3.4 -m pip install SomePackage  # specifically Python 3.4

## Genel yükleme sorunları

### Python’u Linux’te sisteme kurmak

Linux sistemlerinde, dağıtımın bir parçası olarak genellikle bir Python kurulumu dahil edilir. Bu Python kurulumuna paket yüklemek, sisteme root erişimi gerektirir ve bir bileşen beklenmedik bir şekilde `pip` kullanılarak güncellenirse, sistem paketi yöneticisinin ve sistemin diğer bileşenlerinin çalışmasına müdahale edebilir.

Bu tür sistemlerde, `pip` ile paketleri kurarken sanal ortam veya kullanıcı başına kurulum kullanmak genellikle daha iyidir.

### Pip yüklü değil

`pip` ‘in varsayılan olarak yüklenmemesi mümkündür. Bir olası düzeltme:

    python -m ensurepip --default-pip

pip’i yüklemek için ek kaynaklar da vardır.

### İkili uzantıları yükleme

Python tipik olarak büyük ölçüde kaynak tabanlı dağıtıma güvenmiştir ve son kullanıcıların kurulum sürecinin bir parçası olarak uzantı modüllerini kaynaktan derlemesi beklenir.

İkili `wheel` formatı için desteğin sunulması ve Python Paket Dizini aracılığıyla en azından Windows ve macOS için wheel’lar yayınlanabilmesi ile, kullanıcılar önceden oluşturulmuş uzantıları kendileri inşa etmek yerine daha düzenli bir şekilde yükleyebildiğinden bu sorunun zaman içinde azalması bekleniyor.

Bilimsel yazılımı yüklemek için önceden oluşturulmuş (pre-built) `wheel` dosyaları olarak henüz mevcut olmayan çözümlerden bazıları, diğer ikili uzantıları yerel olarak kurmaya gerek kalmadan edinmeye de yardımcı olabilir.

Ayrıca bakınız

Python Paketleme Kullanıcı Kılavuzu: İkili Uzantılar