İşverenim, iç ünite/sistem testi için kullandığımız özel bir modülü ; ancak, bu modülün yazarı artık burada çalışmıyor ve bazı aygıtları onunla test etmem istendi.Modülün eski bir sürümünü kullanmak için python'u zorla (şimdi kurduğumdan daha fazla)
Sorun, pyfoo
'un twisted
(v8.2.0) eski bir sürüm gerektirmesi ve 33 farklı dosyada twisted
içeri aktarmasıdır. V11.0.0 altında pyfoo
ünite testlerini çalıştırmayı denedim ve TCP SYN paketleri 'u bile göremiyorum. Maalesef, lab linux sunucumda zaten yüklü twisted v11.0.0 var ve buna bağlı olarak kendi kodum var.
Seçenek A. Python'un yeni bir sürümünü yükleyin, virtualenv
'u yükleyin ve twisted
'un eski bir sürümünü virtualenv
altına yükleyin. Bu yeni sürüm python altında sadece pyfoo
gerektiren testleri çalıştırın.
Seçenek B. Aşağıdaki dosyaların 33'ünü aşağıdaki gibi düzenleyin: DIR = '../'; sys.path.insert(0, DIR)
ve python'un eski sürümünü kaynağın altındaki uygun dizine yükleyin.
Seçenek C. pyfoo
numaralı telefonu düzeltmek için girişimi yapmaya çalışın. V11.0.0
Eksik olduğum seçenekler var mı? Yukarıda A Seçeneği'nin yanı sıra bu sorunu çözmenin daha zarif bir yolu var mı?
SON-NOTLAR:
pyfoo
diyelim
- Neredeyse bir marş değil ...
pyfoo
önemsiz ve bu çalışma için kısa bir süre var.
Linux'ta? Chroot kullan! : D – tMC
@tMC, I * düşünüyorum * Ne söylediğini görüyorum, ama açık olmamı sağlayın ... '/ chroot/python/site-pack' içinde twisted sürüm 0.8.2'yi kurduğumu ve sonra testleri yürütmeden önce bu dizine chroot 'chroot'? –
Gerçekten sizin env ile çalışıp çalışamayacağını bilmiyorum ama chroot'u bir çeşit sanallaştırma olarak düşünün. Python'u bir chroot'ta çalıştırmak için, python'un bağımlı olduğu tüm libs'lere, belki bir proc mount'a vb. Sahip olmanız gerekir. Gerçekten sadece bunu düşündüm çünkü birisi gerçek bir VM çözümü önerdi. – tMC