Ö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 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
1 Beğeni
Kendim yapmayı kalkışırken dokümanı okumayı ihmal etmişim. Mesajın diğer kısmıyla alakalı bir şey demediniz.
dildeolupbiten:
Ö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?
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.
python
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 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?