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.

  • the Python Packaging Authority is the group of developers and documentation authors responsible for the maintenance and evolution of the standard packaging tools and the associated metadata and file format standards. They maintain a variety of tools, documentation, and issue trackers on GitHub.

  • 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.

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.

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.

… 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.

… 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.