Pip dondurma komutunun çıktısında “pkg-resources == 0.0.0” nedir


157

Ne zaman koşmak pip freezegörmek (diğer beklenen paketler arasında) pkg-resources==0.0.0. Ben bu paket ( bu dahil ) bahseden birkaç mesaj gördüm , ama hiçbiri ne olduğunu veya neden çıktı dahil açıklayan pip freeze. Merak ettiğim ana neden meraktan kaynaklanıyor, ancak aynı zamanda, hattı içeren bir requirements.txtdosya ile oluşturulan paketleri yüklemeye çalışırken bazı durumlarda kırılıyor gibi görünüyor (örneğin Travis CI bağımlılıkları kurmaya çalıştığında ve bunu bulduğunda hat).pip freezepkg-resources==0.0.0pip

Nedir pkg-resourcesve bu satırı kaldırmak uygun requirements.txtmudur?

Güncelleme:

Bu çizginin sadece pip freezeben olduğum zamanın çıktısında var olduğunu gördüm virtualenv. Hala ne olduğundan veya ne yaptığından emin değilim, ancak muhtemelen bununla ilgili olduğunu bilerek daha fazla araştıracağım virtualenv.


"bazı durumlarda pkg-resources == 0.0.0 satırını içeren pip freeze ile oluşturulan bir gereksinim.txt dosyası ile paketleri yüklemeye çalışırken bazı şeyleri bozuyor gibi görünüyor." . Bunun için bir örnek verebilir misiniz?
Dimitris Fasarakis Hilliard

@Jim, iyi bir nokta. Karşılaştığım örneği ekledim.
elethan

hm, sürümün pipnedir? Arkalarında beri eski sürümde cevapsız olmuştur şeyin bu kudretini düşünüyorum 8.1.2ben ilişkin herhangi bir giriş var pkg-resources. (Bu değilim gerektiğinden hangi oldukça emin pkg-resourcesile gelir setuptools).
Dimitris Fasarakis Hilliard

1
Sadece o ilişkili olabileceğini aklıma @Jim virtualenvben olduğumda, gerçekten, ve değil ben de görmüyorum bir virtualenv. Bu hala ne olduğunu açıklamıyor, ama en azından araştırabileceğim bir ipucu.
elethan

Yanıtlar:


182

Https://github.com/pypa/pip/issues/4022'ye göre , bu Ubuntu'nun pip'e yanlış meta veri sağlaması sonucu ortaya çıkan bir hatadır. Yani, hayır bu davranış için iyi bir neden yok gibi görünüyor. Ubuntu'ya bir takip hatası verdim. https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463

Önceki cevabı yedeklemek için, bu satırı gereksinimlerinizden kaldırmanız güvenli olmalıdır. Txt. Paket listenizi güvenli bir şekilde donatan bir dosya yapma dosyası örneği (Makefile'nize bırakın ve ile çalıştırın make freeze):

freeze:
    pip freeze | grep -v "pkg-resources" > requirements.txt

9
Ubuntu'ya özgü bir hata değil, debian'ın da aynı sorunu var
denizanası

1
İlk başta @MohammedShareefC fikri işe yaramış gibi göründü, ama sonra anladım AttributeError: module 'pkg_resources' has no attribute 'iter_entry_points', bu yüzden sadece onu kaldırmak için elinden geleni düşünüyorumrequirements.txt
arod

2
Heroku'ya konuşlandırmaya çalışırken hala baş ağrısına neden oluyor
Martins

3
Bu hala ubuntu 18.04
Carmine Tambascia

3
Ubuntu
19.04'te

13

Sorunuzun " bu satırı kaldırmak uygun mudur? "

Ben burada aynı sorun gereksinimleri bir çizgi ile bir ubuntu 16.04 üzerinde gelişmekte. Bir debian 8.5 çalıştırırken "pip install -r requirements.txt"pip çalıştırıldığında , pkg-kaynakları "bulunamadı" dan şikayet eder, ancak "python-pkg-resources" kurulu küresel bir paket vardır, bu nedenle bağımlılık tatmin edilmelidir. Ubuntu'da aynı: Paket orada da var.

Belirtildiği gibi burada da bazı "örtülü yüklü paketi" gibi görünüyor.

Yani: Eğer bir python-pkg-kaynakları yüklü bir Debian / Ubuntu kullanıyorsanız, bu satırı kaldırmak güvenli olmalıdır . Ben yaptım ve her şey yolunda gidiyor. Bununla birlikte, bu konuda uzman olmadığım için, bunun başka bir makineye dağıtılırken komplikasyonlara yol açabileceğini unutmayın.


Bilgi için teşekkürler. Ben de onu kaldırdım ve herhangi bir sonuç görmedim, ama bahsettiğiniz aynı uyarılar elbette geçerlidir. Nereye / den yükleme yapıyorsunuz virtualenv?
elethan

Evet, bir sanal ağın içinden yüklemeyi denedim. Sistem çapında paket mevcut olduğundan ve işleri karıştırmak istemediğim için sistem çapında pip başına yüklemeyi denemedim.
karlsebal

1

bu cevabı bu linkte buldum: https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463

Gönderen: Louis Bouchard (louis) 2019-11-16 tarihinde yazdı:

Benim için çalıştı. Ama ben bir uzman değilim, eğer biri daha iyi alçalmasa, açıklarsa harika olur.

Merhaba,

değer için, sorun, oluşturma zamanında virtualenv'e eklenen, pkg_resource'un debundled bir sürümünü kullanan, sanallaştırılmış, debianized sürümünden geliyor:

$ virtualenv .
Running virtualenv with interpreter /usr/bin/python2
New python executable in /home/caribou/git/quividi/test/bin/python2
Also creating executable in /home/caribou/git/quividi/test/bin/python
Installing setuptools, pkg_resources, pip, wheel...done.
$ pip freeze
pkg-resources==0.0.0

Virtualenv'in pip yüklü sürümünü kullanmak uygulanabilir bir çözüm olabilir:

$ sudo apt -y purge python3-virtualenv virtualenv tox
$ pip install virtualenv
$ virtualenv .
pip install virtualenv
Collecting virtualenv
  Downloading https://files.pythonhosted.org/packages/c5/97/00dd42a0fc41e9016b23f07ec7f657f636cb672fad9cf72b80f8f65c6a46/virtualenv-16.7.7-py2.py3-none-any.whl (3.4MB)
    100% |████████████████████████████████| 3.4MB 351kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-16.7.7
$ virtualenv .
New python executable in /home/caribou/git/quividi/test/bin/python
Installing setuptools, pip, wheel...
done.
$ source bin/activate
$ pip freeze
$

hth, ... Louis


-2

Ubuntu'da, Ubuntu virtualenvpaketini kaldırarak ve aşağıdakilerden yeni sürüm yükleyerek bunu düzeltebilirsiniz pip:

sudo apt remove virtualenv
sudo pip install -U virtualenv
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.