পাইেনভ, ভার্চুয়ালেনভ, অ্যানাকোন্ডার মধ্যে পার্থক্য কী?


141

আমি অজগর শেখার চেষ্টা করার জন্য একজন রুবি প্রোগ্রামার। আমি পাইয়েনভের সাথে খুব সুন্দর পরিবার যেহেতু এটি আরবিভের অনুলিপি এবং পেস্টের মতো। পাইয়ানভ একটি সিস্টেমে পাইথনের একাধিক সংস্করণ থাকতে দেয় এবং সিস্টেমের সংবেদনশীল অংশ স্পর্শ না করে পাইথনকে আলাদা করতে সহায়তা করে।

আমি মনে করি প্রতিটি পাইথন ইনস্টলেশন পাইপ প্যাকেজ নিয়ে আসে। আমি যা এখনও বুঝতে পারি না তা হ'ল এখানে প্রচুর অজগর লিবস রয়েছে যা এই ভার্চুয়ালেনভ এবং অ্যানাকোন্ডা ব্যবহার করার পরামর্শ দেয়। আমি পাইয়ানভের জন্য এমনকি ভার্চুয়ালেনভ প্লাগইনটি খুঁজে পেতে পারি।

এখন আমি এই দুটি পেনভ এবং ভার্চুয়ালেনভের উদ্দেশ্য নিয়ে বিভ্রান্ত হয়ে পড়ছি। পাইেনভের ভিতরে আরও খারাপ একটি ভার্চুয়ালেনভ প্লাগইন রয়েছে।

আমার প্রশ্নগুলি হ'ল:

  • পাইেনভ এবং ভ্যুচুয়ালেনভের মধ্যে পার্থক্য কী?
  • পাইএনভ এবং ভার্চুয়ালেনভ উভয়ের ভিতরেই পিপ কমান্ড ব্যবহারের কোনও পার্থক্য রয়েছে?
  • এই pyenv ভাইরুতালেনভ কি করে?

উদাহরণ সহ আপনার ব্যাখ্যা অত্যন্ত প্রশংসা করা হবে।


সম্পর্কিত: stackoverflow.com/questions/29950300/…
সেল

উত্তর:


152

সম্পাদনা: এটা এর মূল্য উল্লেখ pipএখানে পাশাপাশি, যেমন condaএবং pipমিল ও পার্থক্য যে এই বিষয় প্রাসঙ্গিক আছে

পাইপ: পাইথন প্যাকেজ ম্যানেজার।

  • আপনি pipরুবি gemকমান্ডের অজগর সমতুল্য হিসাবে ভাবতে পারেন
  • pip অজগরটিকে ডিফল্টরূপে অন্তর্ভুক্ত করা হয় না।
  • আপনি হোমব্রু ব্যবহার করে পাইথন ইনস্টল করতে পারেন যা স্বয়ংক্রিয়ভাবে পাইপ ইনস্টল করবে:brew install python
  • ওএসএক্সের চূড়ান্ত সংস্করণে ডিফল্টরূপে পাইপ অন্তর্ভুক্ত করা হয়নি। পাইপটি আপনার ম্যাক সিস্টেমের পাইথন সংস্করণে যুক্ত করতে পারেনsudo easy_install pip
  • পাইপআই ব্যবহার করে পাইথন প্যাকেজগুলি খুঁজে পেতে এবং প্রকাশ করতে পারেন : পাইথন প্যাকেজ সূচক
  • প্রয়োজনীয়তা.txt ফাইলটি রুবির সাথে তুলনীয় gemfile
  • একটি প্রয়োজনীয় পাঠ্য ফাইল তৈরি করতে, pip freeze > requirements.txt
  • দ্রষ্টব্য, এই মুহুর্তে, আমরা আমাদের সিস্টেমে পাইথন ইনস্টল করেছি এবং আমরা একটি প্রয়োজনীয়তা.টিএসটি ফাইল তৈরি করেছি যা আপনার সিস্টেমে ইনস্টল করা পাইথন প্যাকেজগুলির সমস্ত রূপরেখা তৈরি করে।

পাইয়ানভ: পাইথন ভার্সন ম্যানেজার

  • দস্তাবেজগুলি থেকে : পাইয়ানভ আপনাকে সহজেই পাইথনের একাধিক সংস্করণের মধ্যে স্যুইচ করতে দেয়। এটি সহজ, আপত্তিজনক এবং একক উদ্দেশ্যমূলক সরঞ্জামগুলির ইউনিক্স traditionতিহ্য অনুসরণ করে যা একটি কাজ ভাল করে। এই প্রকল্পটি rbenv এবং রুবি-বিল্ড থেকে কাঁটাচামচ করা হয়েছিল এবং পাইথনের জন্য পরিবর্তিত হয়েছিল।
  • অনেক লোক পাইথন 3 ব্যবহার করতে দ্বিধা বোধ করে
  • আপনার যদি পাইথনের বিভিন্ন সংস্করণ ব্যবহার pyenvকরতে হয় তবে আপনাকে এটি সহজেই পরিচালনা করতে দেয়।

ভ্যাচুয়ালেনভ: পাইথন এনভায়রনমেন্ট ম্যানেজার।

  • দস্তাবেজগুলি থেকে : মূল সমস্যাটি হ'ল নির্ভরতা এবং সংস্করণগুলির একটি এবং পরোক্ষভাবে অনুমতি। ভাবুন আপনার কাছে এমন একটি অ্যাপ্লিকেশন রয়েছে যার জন্য LibFoo এর 1 সংস্করণ প্রয়োজন তবে অন্য অ্যাপ্লিকেশনটির জন্য 2 সংস্করণ প্রয়োজন requires আপনি এই অ্যাপ্লিকেশনটি কীভাবে ব্যবহার করতে পারেন? আপনি যদি /usr/lib/python2.7/site-packages (বা আপনার প্ল্যাটফর্মের স্ট্যান্ডার্ড অবস্থান যাই হোক না কেন) এ সমস্ত কিছু ইনস্টল করেন তবে এমন পরিস্থিতিতে শেষ হওয়া সহজ যেখানে আপনি অনিচ্ছাকৃতভাবে কোনও অ্যাপ্লিকেশন আপগ্রেড করবেন না যা আপগ্রেড করা উচিত নয়।
  • একটি তৈরি করতে virtualenv, কেবল অনুরোধ করুন virtualenv ENV, যেখানে ENVনতুন ভার্চুয়াল পরিবেশ স্থাপনের জন্য একটি ডিরেক্টরি রয়েছে।
  • আরম্ভ করার জন্য virtualenv, আপনার প্রয়োজন source ENV/bin/activate। ব্যবহার বন্ধ করতে, কেবল কল করুন deactivate
  • একবার সক্রিয় করার পরে virtualenv, আপনি pip install -rপ্রকল্পের requirements.txtফাইলের বিরুদ্ধে চালিয়ে কোনও ওয়ার্কস্পেসের প্যাকেজ প্রয়োজনীয়তা ইনস্টল করতে পারেন ।

অ্যানাকোন্ডা: প্যাকেজ ম্যানেজার + পরিবেশগত পরিচালক + অতিরিক্ত বৈজ্ঞানিক গ্রন্থাগার।

  • দস্তাবেজগুলি থেকে : অ্যানাকোন্ডা ৪.২.০ এ পাইথনের একটি সহজ ইনস্টলেশন (২.7.১২, ৩.৪.৫, এবং / অথবা ৩.৫.২) এবং ১০০ টিরও বেশি প্রাক-বিল্ট এবং পরীক্ষিত বৈজ্ঞানিক ও বিশ্লেষণী পাইথন প্যাকেজগুলির আপডেট রয়েছে যা নুমপি, পান্ডাস অন্তর্ভুক্ত করে , সায়পি, ম্যাটপ্ল্লোব এবং আইপিথন, একটি সাধারণ মাধ্যমে 620 টিরও বেশি প্যাকেজ উপলব্ধconda install <packagename>
  • ওয়েব বিকাশকারী হিসাবে, আমি অ্যানাকোন্ডা ব্যবহার করি নি। এটি সমস্ত প্যাকেজ সহ 3 গিগাবাইট ডলার।
  • একটি পাতলা ডাউন minicondaসংস্করণ রয়েছে, যা দেখে মনে হচ্ছে এটি pip+ ব্যবহারের চেয়ে সহজ বিকল্প হতে পারে virtualenv, যদিও আমার ব্যক্তিগতভাবে এটি ব্যবহার করার অভিজ্ঞতা নেই।
  • condaআপনাকে প্যাকেজ ইনস্টল করার অনুমতি দেওয়ার সময় , এই প্যাকেজগুলি পাইপিআই প্যাকেজগুলির চেয়ে পৃথক, সুতরাং আপনার প্যাকেজগুলির ইনস্টল করার প্রয়োজনীয় প্রকারগুলির উপর নির্ভর করে আপনাকে অতিরিক্ত পিপ ব্যবহার করতে হবে।

আরো দেখুন:


3
এটি সম্ভবত একটি রিফ্রেশ এখন CF ব্যবহার করতে পারে, stackoverflow.com/a/49084152/14420
অনুজ্জ্বল উইলকি

9
এটি পাইপেনভের সাথে অন্তর্ভুক্ত করার জন্য কী আপডেট করা যেতে পারে কারণ এটি বর্তমানে পাইথন.অর্গ থেকে আনুষ্ঠানিকভাবে প্রস্তাবিত পাইথন প্যাকেজিং সরঞ্জাম বলে মনে হচ্ছে?
ওয়েভসাইলর

1
মাত্র 3 জিবি মূল্যের লাইব্রেরি ইনস্টল করার ক্ষেত্রে সমস্যাটি কী? আপনি এই সমস্ত লাইব্রেরি মোতায়েন করতে চাইবেন না, তবে আপনার কাছে 3 গিগাবাইটের লাইব্রেরি ইনস্টল থাকার অর্থ এই নয় যে আপনার সমস্তগুলি স্থাপন করা দরকার। এবং এটি আজকাল হার্ড ড্রাইভের জায়গার একটি সামান্য পরিমাণ। আমি বর্তমানে একটি অ্যানাকোন্ডা ইনস্টলেশন ব্যবহার করছি এবং তারা আমার পরিবেশগুলি ভেনভের সাথে পরিচালনা করে, তবে আমি আমার ভার্চুয়াল পরিবেশের জন্যও কনডা ব্যবহার করব কিনা তা বিবেচনা করছিলাম (আমি মনে করি না - ভেনভ আমার কাছে একটি স্বচ্ছ ওয়ার্কফ্লো মনে হয়)।
ডেভিড

@ ডেভিড আমি কিছুটা দেরি করেছি, তবে আপনি কি ভেনভিতে প্রসারিত করতে পারেন আমার কাছে একটি স্বচ্ছ ওয়ার্কফ্লো মনে হচ্ছে ?
এএমসি

1

সাধারণ উপমা:

  • pyenv ~ rbenv
  • পাইপ ~ বান্ডলার
  • ভার্চুয়াল এনভ ~ রত্মে জেমসেট। এটি সরাসরি জহেট ছাড়াই বান্ডিলার দ্বারা পরিচালনা করা যেতে পারে।

যেহেতু আমি পাইথন 3 ব্যবহার করি সেহেতু আমি পাইথন 3 ভেন্ট নামক অন্তর্নির্মিত ভার্চুয়াল পরিবেশ পছন্দ করিভেনভ সহজ এবং সহজেই ব্যবহারযোগ্য। আমি আপনাকে এটির অফিসিয়াল ডক্স পড়ার পরামর্শ দিচ্ছি। ডক্ট সংক্ষিপ্ত এবং সংক্ষিপ্ত।

রুবিতে, আমাদের সত্যিকার অর্থে ভার্চুয়াল পরিবেশের প্রয়োজন নেই কারণ বান্ডেলর এটি যত্ন করে। ভার্চুয়াল এনএভিভি এবং বান্ডলার উভয়ই দুর্দান্ত তবে তাদের ধারণাগুলি আলাদা তবে তারা একই সমস্যাটি সমাধান করার চেষ্টা করে।

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