Ketika saya menjalankan pip freeze
saya melihat (di antara paket yang diharapkan lainnya) pkg-resources==0.0.0
. Saya telah melihat beberapa posting menyebutkan paket ini (termasuk yang ini ), tetapi tidak ada yang menjelaskan apa itu, atau mengapa itu termasuk dalam output pip freeze
. Alasan utama saya bertanya-tanya adalah karena penasaran, tetapi juga, tampaknya hal-hal yang rusak dalam beberapa kasus ketika mencoba untuk menginstal paket dengan requirements.txt
file yang dihasilkan dengan pip freeze
yang termasuk pkg-resources==0.0.0
baris (misalnya ketika Travis CI mencoba menginstal dependensi melalui pip
dan menemukan ini baris).
Apa itu pkg-resources
, dan apakah boleh menghapus baris ini requirements.txt
?
Memperbarui:
Saya telah menemukan bahwa baris ini sepertinya hanya ada di output pip freeze
ketika saya berada di a virtualenv
. Saya masih tidak yakin apa itu atau apa fungsinya, tetapi saya akan menyelidiki lebih lanjut mengetahui bahwa itu kemungkinan terkait virtualenv
.
sumber
pip
? Saya pikir ini mungkin sesuatu yang mereka lewatkan dalam rilis lama karena8.1.2
saya tidak punya entri untukpkg-resources
. (Yang seharusnya tidak karena aku cukup yakinpkg-resources
datang dengansetuptools
).virtualenv
, dan memang, ketika saya tidak dalam virtualenv saya tidak melihatnya juga. Ini masih belum menjelaskan apa itu, tetapi setidaknya merupakan petunjuk yang bisa saya selidiki.Jawaban:
Menurut https://github.com/pypa/pip/issues/4022 , ini adalah bug yang dihasilkan dari Ubuntu yang memberikan metadata yang salah ke pip. Jadi, sepertinya tidak ada alasan yang bagus untuk perilaku ini. Saya mengajukan bug tindak lanjut dengan Ubuntu. https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463
Untuk mencadangkan jawaban sebelumnya, Anda sebaiknya menghapus baris itu dari requirement.txt Anda. Berikut ini adalah contoh Membuat stanza file yang aman membekukan daftar paket Anda (masukkan Makefile Anda dan jalankan dengan
make freeze
):sumber
AttributeError: module 'pkg_resources' has no attribute 'iter_entry_points'
, jadi saya pikir yang terbaik adalah menghapusnyarequirements.txt
Adapun bagian dari pertanyaan Anda " apakah boleh menghapus baris ini? ":
Saya memiliki masalah yang sama di sini berkembang pada 16,04 ubuntu dengan sangat baris dalam persyaratan. Ketika digunakan pada debian 8.5 running
"pip install -r requirements.txt"
pip mengeluh bahwa sumber daya pkg "tidak ditemukan" tetapi ada paket global yang dipasang "sumber daya python-pkg" sehingga ketergantungan harus dipenuhi. Sama di ubuntu: Paket ada di sana juga.Seperti yang dinyatakan di sini tampaknya ada beberapa "paket yang diinstal secara implisit".
Jadi: Jika Anda menggunakan Debian / Ubuntu yang memasang python-pkg-resources, Anda harus menghapusnya . Saya melakukannya dan semuanya berjalan dengan baik. Namun karena saya bukan ahli dalam hal ini, Anda harus ingat bahwa ini dapat menyebabkan komplikasi ketika digunakan di komputer lain.
sumber
virtualenv
juga?menemukan jawaban ini di tautan ini: https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463
oleh: Louis Bouchard (louis) menulis pada 2019-11-16:
Ini berhasil untuk saya. Tapi saya bukan ahli jadi, jika seseorang meremehkannya lebih baik, akan lebih baik jika menjelaskannya.
Halo,
untuk apa nilainya, masalahnya berasal dari versi debianized dari virtualenv yang menggunakan versi pkg_resource yang didebugasi yang akan ditambahkan ke dalam virtualenv pada saat pembuatan:
Menggunakan pip versi virtualenv yang terinstal bisa menjadi solusi yang bisa diterapkan:
hth, ... Louis
sumber
Di Ubuntu, Anda dapat memperbaikinya dengan menghapus
virtualenv
paket Ubuntu dan menginstal versi baru daripip
:sumber