2017-10-16 37 views
5

Genellikle determinist olan ve aynı python pip paketlerinin kurulu olduğu iki python kurulumu arasındaki bir davranış farkını çözmeye çalışıyorum.İkili tekerlekleri pip listeleyebilir mi?

Farklı .so dosyalarından şüpheleniyorum. İkili tekerleklerin hangi ikili yüklü olduğunu ve hangi mimariler için olduğunu görmek için bir neden var mı?

Güncelleme -

% pip show Name: scipy Version: 1.0.0rc1 Summary: SciPy: Scientific Library for Python Home-page: https://www.scipy.org Author: SciPy Developers Author-email: [email protected] License: BSD Location: /usr/local/lib/python2.7/dist-packages Requires: numpy

yukarıdaki paket derlenmesi gerekir libopenblas gibi şeyler bağlıdır. Pip'in sistem kurulumunu kullandığını veya bir pip kurulumu sırasında BLAS'ı derlediğinden ya da bir i386 veya i686 için BLAS'ın önceden derlenmiş versiyonu olarak kullanılıp kullanılmadığından emin değilim. Ben fark sistemlerinde, yüklü .sos farklılıkları var hangi pakete görmek istiyorum

/usr/local/lib/python2.7/dist-packages/scipy/.libs/libopenblasp-r0-39a31c03.2.18.so 

:

Ben yukarıdaki durum

.

+0

kullanım piton kodu: yüklü ikili dağıtımı (pip install copyingmock) ile kullanmak "pip liste" komutu (yakalamak onun çıktı), daha sonra her paketin "pip göster" komutuna "pip" komutuyla girerek bilgilerini gösterin. – DRPK

+0

'pip list' ve 'pip show ' hızlı bir şekilde @DRPK sözlerini kontrol etmenin en kolay yoludur, ancak tek tek dosyalara kazıyorsanız, site paketlerinizin her bir python örneği için nereye açılacağını görebilirsiniz. python IDLE veya CLI sonra 'import site' site.getsitepackages() '' sonra bir şey gibi geri dönecek '' '' /usr/lib64/python2.7/site-packages ',' /usr/lib/python2.7/ site-packages ','/usr/lib/site-python '] 'nerede dosyaları doğrulayabileceğinizi doğrulayın, sadece tek bir şey olsaydı, tek bir şey olsaydı diğeri değil – stephen

cevap

4

Buradaki bilgi oradadır, ancak bulmak için dist-info ve/veya egg-info alt dizinlerinde gezinmeniz gerekir.

  • İkili dağılımlar, meta veri alt dizinlerinde RECORD dosyasını içerir.
  • Kaynak dağıtımları, meta veri alt dizininde installed-files.txt dosyasını içerir.

RECORD dosya PEP-376 içinde belirtildiği gibi CSV hatları (yol, karma, boyut) vardır. Bir yumurtadan eski installed-files.txt sadece dosya isimleridir ve bu dosyaları manuel olarak belirtmeniz gerekir.

Basit bir örnek olarak, copyingmock paketimin PyPI adresinde bulunan kaynak ve ikili dağıtımlarım var.

$ pip show --files copyingmock 
Name: copyingmock 
Version: 0.1 
Summary: A subclass of MagicMock that copies the arguments 
Home-page: https://github.com/wimglenn/copyingmock 
Author: Wim Glenn 
Author-email: [email protected] 
License: MIT 
Location: /tmp/blah/venv/lib/python3.6/site-packages 
Requires: 
Files: 
    __pycache__/copyingmock.cpython-36.pyc 
    copyingmock-0.1.dist-info/DESCRIPTION.rst 
    copyingmock-0.1.dist-info/INSTALLER 
    copyingmock-0.1.dist-info/LICENSE.txt 
    copyingmock-0.1.dist-info/METADATA 
    copyingmock-0.1.dist-info/RECORD 
    copyingmock-0.1.dist-info/WHEEL 
    copyingmock-0.1.dist-info/metadata.json 
    copyingmock-0.1.dist-info/top_level.txt 
    copyingmock.py 
$ cat venv/lib/python3.6/site-packages/copyingmock-0.1.dist-info/RECORD 
copyingmock.py,sha256=DoLAuaS7KqGT87BIlD93G1M7q9bNWgHYu1m1TZP1D1g,345 
copyingmock-0.1.dist-info/DESCRIPTION.rst,sha256=L_0CS_8XNYgAVfq3tj3GZEYg_9vML9nDP-FUU37GIbs,1541 
copyingmock-0.1.dist-info/LICENSE.txt,sha256=sDdX5cBRRpk3rmZ8hbYEfAUIYRdDqrlXmChOUkqf62o,1066 
copyingmock-0.1.dist-info/METADATA,sha256=bKJ5RXwvj0rGrg22p4K91WiJoLM5MqLHYqlpWYWUhPU,2031 
copyingmock-0.1.dist-info/RECORD,, 
copyingmock-0.1.dist-info/WHEEL,sha256=5wvfB7GvgZAbKBSE9uX9Zbi6LCL-_KgezgHblXhCRnM,113 
copyingmock-0.1.dist-info/metadata.json,sha256=SLtuqq4tUGr0A2h4hQnZEdPIm_4MrvcunLzP-_1I7Qc,677 
copyingmock-0.1.dist-info/top_level.txt,sha256=X3FsY_0npOxR5rKvOJ-b2rdiNfSiIivwVKN4JgY7cac,12 
copyingmock-0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 
__pycache__/copyingmock.cpython-36.pyc,, 

Ardından kaynak dağılımı (pip uninstall copyingmock ve sonra pip install --no-binary=copyingmock copyingmock) ile yeniden zorlayarak:

$ pip show --files copyingmock 
Name: copyingmock 
Version: 0.1 
Summary: A subclass of MagicMock that copies the arguments 
Home-page: https://github.com/wimglenn/copyingmock 
Author: Wim Glenn 
Author-email: [email protected] 
License: MIT 
Location: /tmp/blah/venv/lib/python3.6/site-packages 
Requires: 
Files: 
    __pycache__/copyingmock.cpython-36.pyc 
    copyingmock-0.1-py3.6.egg-info/PKG-INFO 
    copyingmock-0.1-py3.6.egg-info/SOURCES.txt 
    copyingmock-0.1-py3.6.egg-info/dependency_links.txt 
    copyingmock-0.1-py3.6.egg-info/top_level.txt 
    copyingmock.py 
$ cat venv/lib/python3.6/site-packages/copyingmock-0.1-py3.6.egg-info/installed-files.txt 
../copyingmock.py 
../__pycache__/copyingmock.cpython-36.pyc 
dependency_links.txt 
PKG-INFO 
top_level.txt 
SOURCES.txt 
+0

Teşekkürler. pip gösterisi - dosyaları scipy | grep -e \\. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ .so dosyaları checksumming deneyebilirsiniz, ama ben bu işe yaramaz hale getirmek ile hata ayıklama bilgileri ile derlenmiş ve nerede şüpheli. – user48956