পিপ ফ্রিজ বনাম পিপ তালিকা


111

আউটপুটগুলির একটি তুলনা পার্থক্য প্রকাশ করে:

user@user-VirtualBox:~$ pip list
feedparser (5.1.3)
pip (1.4.1)
setuptools (1.1.5)
wsgiref (0.1.2)
user@user-VirtualBox:~$ pip freeze
feedparser==5.1.3
wsgiref==0.1.2

পিপের ডকুমেন্টেশন সূচিত করে

freeze                      Output installed packages in requirements format.
list                        List installed packages.

তবে "প্রয়োজনীয়তা বিন্যাস" কী এবং এর pip listচেয়ে আরও বিস্তৃত তালিকা কেন তৈরি করা হয় pip freeze?


5
এফওয়াইআই, এখানে ডক্স রয়েছে
অ্যালেক্সেক্স

উত্তর:


109

আপনি যখন একটি ব্যবহার করছেন virtualenv, আপনি requirements.txtসমস্ত নির্ভরতা ইনস্টল করতে একটি ফাইল নির্দিষ্ট করতে পারেন ।

একটি সাধারণ ব্যবহার:

$ pip install -r requirements.txt

প্যাকেজগুলি pipবুঝতে একটি নির্দিষ্ট বিন্যাসে থাকা প্রয়োজন , যা

feedparser==5.1.3
wsgiref==0.1.2
django==1.4.2
...

এটি "প্রয়োজনীয়তা বিন্যাস"।

এখানে, django==1.4.2ইনস্টল djangoসংস্করণ বোঝানো হয়েছে 1.4.2(সর্বশেষতম 1.6.x হলেও)। আপনি যদি নির্দিষ্ট না করেন ==1.4.2তবে উপলব্ধ সর্বশেষতম সংস্করণটি ইনস্টল করা হবে।

আপনি " ভার্চুয়ালেনভ এবং পাইপ বেসিকস " এবং অফিসিয়াল " প্রয়োজনীয় ফাইল ফর্ম্যাট " ডকুমেন্টেশনে আরও পড়তে পারেন ।


5
বুঝেছি. "তালিকা" "হিমশীতল" এর চেয়ে আরও বিস্তৃত তালিকা তৈরি করার কোনও কারণ আছে কি?
nitrl

2
আমি মনে করি এটি হ'ল কারণ এটি pip listসমস্ত কিছু তালিকাভুক্ত করে এবং pip freezeপাইপ দ্বারা ইনস্টল করা সমস্ত কিছু ইনস্টল করে।
কর্থিকার

এইচএম, এটি একটি তত্ত্ব, তবে আমি নিশ্চিত যে আমি তা করি নি pip install wsgiref
nitrl

পাইথন ৩.২ wsgiref.egg-info-এ লিব ডিরেক্টরিতে অন্তর্ভুক্ত রয়েছে , এজন্য পিপ এটি সম্পর্কে জানে। আপনি এটি পাইপের সাহায্যে ইনস্টল করতে পারবেন না এবং পাইথনের পরবর্তী সংস্করণগুলি মেটাডেটা ফাইল বাদ দিতে পারে যাতে এটি প্রদর্শিত না হয় won't
জুবা

1
@ লিওনিড যদি আপনি শেষে সংস্করণ নম্বরটি থেকে মুক্তি পান তবে এটি পাইপি থেকে সর্বশেষতম সংস্করণ ইনস্টল করবে। উত্তরটি পুরোপুরি পড়ুন
karthikr

42

এই প্রশ্নের দ্বিতীয় অংশ উত্তর দিতে, দেখানো দুই প্যাকেজ pip listকিন্তু pip freezeহয় setuptools(যা easy_install হয়) এবং pipনিজেই।

দেখে মনে হচ্ছে যে pip freezeকেবল প্যাকেজগুলির তালিকা তৈরি করে না যা পাইপ নিজেই নির্ভর করে। আপনি --allএই প্যাকেজগুলিও প্রদর্শন করতে পতাকা ব্যবহার করতে পারেন ।

ডকুমেন্টেশন থেকে :

--all

আউটপুটে এই প্যাকেজগুলি এড়িয়ে যাবেন না: পাইপ, সেটআপলগুলি, বিতরণ, চাকা


3
pip freezeপিপ্প.পিপা.আইও--allpip, setuptools, distribute, wheel
এএন

কম বিতরণ করুন
ম্যাক্স ক্লিনার

37

মূল পার্থক্য হ'ল আউটপুটটিকে pip freezeপ্রয়োজনীয়তা.টিএসটি ফাইলের মধ্যে ফেলে দেওয়া যেতে পারে এবং "হিমায়িত" পরিবেশটি পুনর্নির্মাণের জন্য পরে ব্যবহার করা যেতে পারে।

অন্য কথায় আপনি চালাতে পারেন: pip freeze > frozen-requirements.txtএকটি মেশিনে এবং তারপরে অন্য কোনও মেশিনে বা একটি পরিষ্কার পরিবেশে আপনি যা করতে পারেন: pip install -r frozen-requirements.txt এবং আপনি যেখানে একই পরিবেশে আসল ঠিক তেমন নির্ভরতার সাথে একই পরিবেশ পাবেন যেখানে আপনি যেখানে ছিলেন হিমায়িত-প্রয়োজনীয়তা.টিএসটি তৈরি করে।


26

পিপ ডকুমেন্টেশন , যা উভয় হিসাবে কার্যকারিতা বর্ণনা

পাইপ তালিকা

সম্পাদনাযোগ্যগুলি সহ ইনস্টল হওয়া প্যাকেজগুলির তালিকা দিন।

পাইপ হিমশীতল

প্রয়োজনীয় বিন্যাসে আউটপুট ইনস্টল প্যাকেজ।

সুতরাং দুটি পার্থক্য আছে:

  1. আউটপুট ফর্ম্যাট, freezeআমাদের স্ট্যান্ডার্ড প্রয়োজনীয় বিন্যাস দেয় যা পরে pip install -rপ্রয়োজনীয়তা ইনস্টল করতে ব্যবহার করা যেতে পারে ।

  2. আউটপুট সামগ্রী, pip listসম্পাদনাযোগ্যগুলি অন্তর্ভুক্ত করুন যা pip freezeনা করে।


সম্পাদনাযোগ্য বলতে আমরা কী বোঝাতে চাই?
মিঃ সূর্য ঝা


5

pip listসমস্ত প্যাকেজ দেখায় ।

pip freezeআপনি প্রয়োজনীয় ফরম্যাটে আপনার pip(অথবা pipenvসেই সরঞ্জামটি ব্যবহার করে) কমান্ডের মাধ্যমে ইনস্টল করা প্যাকেজগুলি দেখায় ।

যে নীচে মন্তব্য setuptools , পিপ , চাকা ইনস্টল করা যখন pipenv shellআমার ভার্চুয়াল খাম তৈরি করে। এই প্যাকেজগুলি হয়েছে না আমাকে ব্যবহার করে ইনস্টল করা pip:

test1 % pipenv shell
Creating a virtualenv for this project
Pipfile: /Users/terrence/Development/Python/Projects/test1/Pipfile
Using /usr/local/Cellar/pipenv/2018.11.26_3/libexec/bin/python3.8 (3.8.1) to create virtualenv
 Creating virtual environment...
<SNIP>
Installing setuptools, pip, wheel...
done.
 Successfully created virtual environment! 
<SNIP>

এখন পর্যালোচনা & নিজ নিজ কমান্ড যেখানে আমি শুধু ইনস্টল আউটপুট তুলনা শীতল-liberal এর সংক্ষিপ্ত রূপ এবং sampleproject (যার নগণ্য দ্রব্য নির্ভরশীলতার হয়):

test1 % pip freeze       <== Packages I'VE installed w/ pip

-e git+https://github.com/gdamjan/hello-world-python-package.git@10<snip>71#egg=cool_lib
peppercorn==0.6
sampleproject==1.3.1


test1 % pip list         <== All packages, incl. ones I've NOT installed w/ pip

Package       Version Location                                                                    
------------- ------- --------------------------------------------------------------------------
cool-lib      0.1  /Users/terrence/.local/share/virtualenvs/test1-y2Zgz1D2/src/cool-lib           <== Installed w/ `pip` command
peppercorn    0.6       <== Dependency of "sampleproject"
pip           20.0.2  
sampleproject 1.3.1     <== Installed w/ `pip` command
setuptools    45.1.0  
wheel         0.34.2
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.