ZodiacMotion: Hareketli zodyak

Özelliğin kaldırılacağını sanmıyorum ama link değişirse kurulum çalışmaz, sitede indirme işlemi için javascript kullanılması bunun gerçekleşme olasılığını arttırıyor bence.

Son attığım linkde o da vardı aslında:

Since version 6.0, pip also supports specifiers containing environment markers like so:

SomeProject ==5.4 ; python_version < '2.7' 
SomeProject; sys_platform == 'win32'
1 Beğeni

Dikkat etmemişim. Teşekkür ederim. :+1:

1 Beğeni

Bu ikisini aynı anda kullanmayı denedim olmadı.
Önce şöyle yaptım:

numpy ; sys_platform == 'win32', python_version == '3.8' 

Sonra şöyle yaptım:

numpy ; sys_platform == 'win32' ; python_version == '3.8' 

Bu iki farklı komutu aynı anda kullanamıyor muyum acaba?

Bir de sistem mimarisine göre farklı sürümler yükleyemez miyim acaba merak ediyorum. architecture ile alakalı bir ifade görmedim de sitede.

Efendim oradaki linkler boşuna konulmuyor :slight_smile:

1 Beğeni

:slight_smile: Kendim yapmayı kalkışırken dokümanı okumayı ihmal etmişim. Mesajın diğer kısmıyla alakalı bir şey demediniz. :slight_smile:

Evet ona bakıyorum ben de.

Araya and koymayı deneyebilir misiniz?

numpy ; sys_platform == 'win32' and python_version == '3.8' 

Burayı incelemek lazım:

1 Beğeni

Tamam buldum. Şöyle yapılabiliyor.

xlrd ; sys_platform == 'win32' and python_version == '3.8' 

Sanırım bu parantezleri ve or, and gibi işleçleri kullanarak şartları daha özel hale getirmemize olanak sağlıyor, güzel bir özellik.

1 Beğeni

Bence de güzel ve gerekli bir özellik, aksi taktirde bir esprisi olmazdı.

1 Beğeni

Bu arada yardımların için teşekkür ederim.

Önemli değil. Ben de sayenizde requirements.txt dosyasını oluşturma ile alakalı bir sürü bilgi edindim.

1 Beğeni

Bu arada ek bilgi olarak burada bulunsun.
Bazı 64bit mimarilerde x86_64 bazılarında da AMD64 yazıyor.

Yani kimi durumlarda requirements.txt klasörüne şöyle bir ifade yazmak gerekiyor olabilir.

module ; sys_platform == 'win32' and python_version == '3.8' and platform_machine == "x86_64" or platform_machine == "AMD64"

Mesela benim bilgisayarımda platform.machine(), AMD64 stringini geri döndürüyor.
Eğer requirements.txt dosyasına şunları yazarsam:

module ; sys_platform == 'win32' and python_version == '3.8' and platform_machine == "x86_64" 

Şöyle bir hata alıyorum:

Ignoring bs4: markers 'sys_platform == "win32" and python_version == "3.8" and p
latform_machine == "x86_64"' don't match your environment

platform_machine'in Windows 32-bit mimarisi için çıktısı nasıl oluyor acaba? Birisi x86_32 şeklinde diğeri de AMD32 şeklinde mi acaba?

Bu şart platform.machine() fonkiyonunu çağırdığı için onunla ilgili bir araştırma yapılabilir.

Burada da listelenmiş sanırım:


Sondaki or kısmını paranteze almak gerekmiyor mu?

Aklıma geldi. Önce bir deneyeyim dedim ve hata vermeden çalıştı.

Edit: Paranteze alınca da hatasız bir şekilde çalıştı.

Hata vermemesi istenildiği gibi çalıştığı anlamına gelmez ki :slight_smile: Bunların da normal işleçler gibi çalışmaları lazım; soldan sağa, parantezler öncelikli olarak.

Peki neden hata vermedi? Yani modül yüklendi sonuçta.

Niçin hata versin ki? Söz dizimine uygun olmayan yanlış bir şey mi yaptık?

Hata verdiği zamanda da söz dizimi yanlış değildi ki. Sadece ignoring diye bir hata almıştım. Bunda neden yapmadı mesela?

Bu bir hata değil bence, uyarı-bilgilendirme. Sonuçta ne yazdıysak onu yapıyor, bundan da bizi haberdar ediyor.

Hangisinde?