পিপ ফ্রিজ কমান্ডের আউটপুটে "পিকেজি-রিসোর্সগুলি == 0.0.0" কী?


157

আমি চালানোর সময় pip freezeআমি দেখতে পাই (অন্যান্য প্রত্যাশিত প্যাকেজগুলির মধ্যে) pkg-resources==0.0.0। আমি এই প্যাকেজ (সহ উল্লেখ কিছু পোস্ট দেখেছি এই এক ), কিন্তু কেউই ব্যাখ্যা কি এটা, অথবা কেন এটা আউটপুট মধ্যে অন্তর্ভুক্ত করা হয় pip freeze। মূল কারণটি নিয়ে আমি কৌতূহলের বাইরে যাচ্ছি না, তবে এটি লাইনটি অন্তর্ভুক্ত থাকা কোনও requirements.txtফাইলের সাথে প্যাকেজ ইনস্টল করার চেষ্টা করার সময় কিছু জিনিসগুলিকে ভেঙে ফেলা বলে মনে হয় (উদাহরণস্বরূপ ট্র্যাভিস সিআই যখন নির্ভরতা ইনস্টল করার চেষ্টা করে এবং এটি আবিষ্কার করে) লাইন)।pip freezepkg-resources==0.0.0pip

কী pkg-resources, এবং এই লাইনটি অপসারণ করা কি ঠিক আছে requirements.txt?

হালনাগাদ:

আমি খুঁজে পেয়েছি যে এই লাইনটি কেবলমাত্র pip freezeআমি যখন থাকি তখন আউটপুটে উপস্থিত বলে মনে হয় virtualenv। এটি এখনও কী তা বা এটি কী করে তা আমি এখনও নিশ্চিত নই, তবে সম্ভবত এটি সম্পর্কিত কিনা তা জেনে আমি আরও তদন্ত করব virtualenv


"পিপজি-জমাগুলি == ০.০.০ লাইন অন্তর্ভুক্ত পিপ ফ্রিজে তৈরি হওয়া একটি প্রয়োজনীয়তা.txt ফাইলের সাথে প্যাকেজ ইনস্টল করার চেষ্টা করার সময় কিছু ক্ষেত্রে এটি জিনিসগুলি ভেঙে যায় বলে মনে হয়।" । আপনি কি তার জন্য একটি উদাহরণ দিতে পারেন?
দিমিত্রিস ফাসারাকিস হিলিয়ার্ড

@ জিম, ভাল পয়েন্ট আমি যে উদাহরণটি দিয়েছিলাম তাতে আমি যুক্ত করেছি।
ইলেথান

এইচএম, আপনার সংস্করণটি কী pip? আমি ভাবছিলাম এটি সম্ভবত এমন কিছু ছিল যা তারা কোনও পুরানো প্রকাশে মিস করেছে যেহেতু 8.1.2আমার কোনও প্রবেশ নেই pkg-resources। (যার ফলে এটি যেহেতু আমি করা উচিত নয় নিশ্চিত pkg-resourcesদিয়ে আসে setuptools)।
দিমিত্রিস ফ্যাসারাকিস হিলিয়ার্ড

1
@ জিম এটি আমার কাছে ঘটেছিল যে এটির সাথে সম্পর্কিত হতে পারে virtualenvএবং সত্যই, যখন আমি কোনও ভার্চুয়ালনেভ না থাকি তখনও আমি তা দেখতে পাই না। এটি এখনও এটি কী তা ব্যাখ্যা করে না তবে কমপক্ষে একটি সূত্র যা আমি তদন্ত করতে পারি।
ইলেথান

উত্তর:


182

Https://github.com/pypa/pip/issues/4022 অনুসারে , এটি উবুন্টু থেকে পাইপকে ভুল মেটাডেটা সরবরাহ করার ফলে পাওয়া একটি বাগ। সুতরাং, এই আচরণের কোনও ভাল কারণ বলে মনে হয় না। আমি উবুন্টুতে একটি ফলো-আপ বাগ ফাইল করেছি। https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463

পূর্ববর্তী উত্তরটি ব্যাকআপ করতে আপনার লাইনটি আপনার প্রয়োজনীয়তাগুলি থেকে সরিয়ে ফেলা নিরাপদ হওয়া উচিত t এখানে ফাইলের একটি পদক্ষেপ তৈরি করুন যা আপনার প্যাকেজ তালিকাটি নিরাপদে জমা করে রাখে (আপনার মেকফাইলে ফেলে যান এবং এতে চালান make freeze):

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

9
এটি উবুন্টু-নির্দিষ্ট বাগ নয়, ডেবিয়ানের একই সমস্যা রয়েছে
জেলিফিশ

1
প্রথমে @ মোহাম্মদশরীফসির ধারণাটি কার্যকর মনে হয়েছিল, তবে আমি পেয়েছিলাম AttributeError: module 'pkg_resources' has no attribute 'iter_entry_points', তাই আমি এটিকে সরিয়ে ফেলার জন্য তার requirements.txt
সেরাটি

2
এখনও হিরকুতে মোতায়েন করার চেষ্টা করার সময় মাথা ব্যাথা সৃষ্টি করছে
মার্টিনস

3
এটি এখনও উবুন্টু 18.04 এর সাথে একটি সমস্যা বলে মনে হচ্ছে
কারমিন তম্বাসিয়া

3
উবুন্টু 19.04
এরিক.ফ্রেডরিচ

13

আপনার প্রশ্নের অংশ হিসাবে " এই লাইনটি সরানো কি ঠিক? ":

আমার এখানে একই সমস্যাটি উবুন্টুতে বিকাশ করা হয়েছে 16.04 প্রয়োজনীয়তার সাথে খুব লাইন দিয়ে। ডেবিয়ান 8.5 চলমান পিপতে স্থাপন করার সময় "pip install -r requirements.txt"অভিযোগ করে যে পিকেজি-রিসোর্সগুলি "পাওয়া যায় না" তবে সেখানে একটি বিশ্বব্যাপী প্যাকেজ ইনস্টল করা আছে "পাইথন-পিকেজি-রিসোর্সস" তাই নির্ভরতা সন্তুষ্ট হওয়া উচিত। উবুন্টুতে একই: প্যাকেজটিও সেখানে বিদ্যমান।

এখানে যেমন বলা হয়েছে এটি কিছু "পরোক্ষভাবে ইনস্টল করা প্যাকেজ" বলে মনে হচ্ছে।

সুতরাং: আপনি যদি ডেবিয়ান / উবুন্টুতে পাইথন-পিকেজি-রিসোর্স ইনস্টল করে থাকেন তবে লাইনটি সরিয়ে ফেলা নিরাপদ হওয়া উচিত । আমি তাই করেছি এবং সবকিছু ঠিকঠাক চলছে। তবে আমি যেহেতু এ বিষয়ে কোনও বিশেষজ্ঞ নই সেহেতু আপনার মনে রাখা উচিত যে অন্য কোনও মেশিনে মোতায়েনের সময় এটি জটিলতা সৃষ্টি করতে পারে।


তথ্যের জন্য ধন্যবাদ। আমি এটিও অপসারণ করে শেষ করেছি এবং কোনও ফলও দেখিনি, তবে আপনি অবশ্যই একই প্রয়োগগুলি অবশ্যই প্রয়োগ করবেন apply আপনি কোথায় / থেকে virtualenvপাশাপাশি ইনস্টল করছেন ?
ইলেথন

হ্যাঁ, আমি কোনও ভার্চুয়ালেনভের ভিতরে থেকে ইনস্টল করার চেষ্টা করেছি। যেহেতু সিস্টেমওয়াইড প্যাকেজ উপস্থিত রয়েছে এবং আমি জিনিসগুলি গুছিয়ে নিতে চাই না আমি পাইপ সিস্টেমে প্রতি ইনস্টল করার চেষ্টা করিনি।
কার্লসেবাল

1

এই লিঙ্কটিতে এই উত্তরটি খুঁজে পেয়েছে: https://bugs.launchpad.net/ubuntu/+source/python-pip/+bug/1635463

লিখেছেন: লুই বাউচার্ড (লুইস) 2019-11-16 এ লিখেছেন:

এটা আমার জন্য কাজ করেছে। তবে আমি কোনও বিশেষজ্ঞ নই, যদি কেউ এটিকে আরও ভালভাবে অবহিত করে থাকেন তবে এটি ব্যাখ্যা করা ভাল।

হ্যালো,

এটি মূল্যবান কিসের জন্য, সমস্যাটি ভার্চুয়ালেনভের ডিবিয়ানাইজড সংস্করণ থেকে আসে যা pkg_resource এর একটি ডিবেডড সংস্করণ ব্যবহার করে যা সৃষ্টির সময় ভ্যুচুয়ালেনভের সাথে যুক্ত হয়:

$ 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

ভার্চুয়ালেনভের পাইপ ইনস্টল করা সংস্করণটি ব্যবহারযোগ্য কাজ হতে পারে:

$ 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
$

ht, ... লুই


-2

উবুন্টুতে, আপনি উবুন্টু virtualenvপ্যাকেজটি সরিয়ে এবং এ থেকে নতুন সংস্করণ ইনস্টল করে এটি ঠিক করতে পারেন pip:

sudo apt remove virtualenv
sudo pip install -U virtualenv
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.