আপডেট হয়েছে: 2019-05-11: এই পোস্টটি বেশিরভাগ ক্ষেত্রে উল্লেখ করেছে virtualenv
, তবে মডিউল ইনস্টলেশন সম্পর্কে পাইথন ডকের মতে পাইথন 3.5 "যেহেতু venv
ভার্চুয়াল পরিবেশ তৈরির জন্য এখন ব্যবহারের পরামর্শ দেওয়া হচ্ছে", যখন virtualenv
পাইথনের সংস্করণগুলির বিকল্পটি 3.4 এর আগে রয়েছে Py ।
আপডেট হয়েছে: 2018-08-17: যেহেতু conda-4.4.0 ব্যবহার conda
করতে activate
সব প্ল্যাটফর্মে anaconda দ্বারা
আপডেট হয়েছে: 2017-03-27: পিইপি 513 - manylinux
পিপিআই-এর জন্য বাইনারি
আপডেট হয়েছে: 2016-08-19: কন্টিনিয়াম অ্যানাকোন্ডা বিকল্প
এটি কিছুটা Easy_install / pip বা apt-get এর সদৃশ ।
জন্য বিশ্বব্যাপী পাইথন প্যাকেজ, ব্যবহার হয় উবুন্টু সফটওয়্যার সেন্টার, কার্যক্ষম, কার্যক্ষম-GET অথবা Synaptic
উবুন্টু বহু গুরুত্বপূর্ণ ফাংশনের জন্য পাইথন ব্যবহার করে, তাই পাইথনের সাথে হস্তক্ষেপ করা আপনার ওএসকে দূষিত করতে পারে। এই প্রধান কারণ আমি ব্যবহার না হয় pip
আমার উবুন্টু সিস্টেমে, কিন্তু এর পরিবর্তে আমি ব্যবহার হয় উবুন্টু সফটওয়্যার সেন্টার, Synaptic , apt-get
, অথবা ঊর্ধ্বতন সংস্করণ মাত্র apt
, যা সব ডিফল্টরূপে থেকে প্যাকেজগুলি ইনস্টল উবুন্টু সংগ্রহস্থলের । এই প্যাকেজগুলি পরীক্ষিত হয়, সাধারণত প্রাক-সংকলিত হয় তাই তারা উবুন্টুর জন্য দ্রুত এবং শেষ পর্যন্ত ডিজাইন করা ইনস্টল করে। এছাড়াও সমস্ত প্রয়োজনীয় নির্ভরতাও ইনস্টল করা আছে এবং ইনস্টলগুলির একটি লগ বজায় রাখা হয় যাতে এগুলি আবার ঘুরিয়ে দেওয়া যায়। আমি মনে করি বেশিরভাগ প্যাকেজগুলিতে একই লঞ্চপ্যাড রেপো রয়েছে যাতে আপনি সমস্যাগুলি ফাইল করতে পারেন।
উবুন্টু প্যাকেজগুলি ব্যবহার করার অন্য একটি কারণ হ'ল কখনও কখনও এই পাইথন প্যাকেজগুলি আপনি কোথা থেকে ডাউনলোড করেছেন তার উপর নির্ভর করে বিভিন্ন নামে থাকে। পাইথন-চারডেট এমন একটি প্যাকেজের উদাহরণ যা এক সময় পাইপআই-তে একটি জিনিস এবং উবুন্টু সংগ্রহস্থলের অন্য একটি জিনিসের নাম ছিল। সুতরাং এর মতো কিছু করার ফলে pip install requests
বুঝতে হবে না যে আপনার সিস্টেমে চার্ডিট ইতিমধ্যে ইনস্টল করা আছে কারণ উবুন্টু সংস্করণটির আলাদা নাম রয়েছে এবং ফলস্বরূপ একটি নতুন সংস্করণ ইনস্টল করুন যা আপনার সিস্টেমকে একটি নগণ্য উপায়ে দূষিত করবে কিন্তু তবুও আপনি কেন এটি করবেন।
সাধারণভাবে আপনি কেবল আপনার ওএসে বিশ্বস্ত কোড ইনস্টল করতে চান। তাই আপনার টাইপিং সম্পর্কে নার্ভাস হওয়া উচিত$ sudo pip <anything-could-be-very-bad>
।
শেষ পর্যন্ত কিছু জিনিস উবুন্টু প্যাকেজ ব্যবহার করে ইনস্টল করা সহজ। উদাহরণস্বরূপ, pip install numpy
আপনি যদি ইতিমধ্যে গুরফ্ট্রান, এ্যাটলাস-ডেভ, ব্লেস-ডেভ এবং ল্যাপ-ডেভ ইনস্টল না করেন তবে যদি আপনি ন্যালি ও স্কিপি ইনস্টল করার চেষ্টা করেন তবে আপনি সংকলনের ত্রুটির একটি অন্তহীন প্রবাহ দেখতে পাবেন। তবে উবুন্টু সংগ্রহস্থলের মাধ্যমে নম্পী এবং স্কিপি ইনস্টল করা যতটা সহজ ...
$ sudo apt-get install python-numpy python-scipy
আপনি ভাগ্যবান, কারণ আপনি উবুন্টু ব্যবহার করছেন, এটি অন্যতম বহুল ব্যবহৃত সমর্থিত এবং আধুনিক আপডেট বিতরণ। সম্ভবত প্রতিটি পাইথন প্যাকেজ আপনার প্রয়োজন উবুন্টু সংগ্রহস্থলে রয়েছে এবং সম্ভবত আপনার মেশিনে এটি ইতিমধ্যে ইনস্টল রয়েছে। এবং প্রতি 6 মাস অন্তর, উবুন্টুর সর্বশেষ বিতরণ সহ প্যাকেজের একটি নতুন চক্র প্রকাশ করা হবে।
আপনি যদি 100% আত্মবিশ্বাসী হন যে প্যাকেজটি কোনওভাবেই আপনার উবুন্টু সিস্টেমে হস্তক্ষেপ করবে না, তবে আপনি এটি পিপ ব্যবহার করে ইনস্টল করতে পারেন এবং উবুন্টু এই প্যাকেজগুলিকে ডিস্ট্রো প্যাকেজগুলি ডিস্ট্রো প্যাকেজগুলি থেকে আলাদা করে রাখার জন্য একটি ফোল্ডারে ডাকে folder dist-packages/
। উবুন্টু সংগ্রহস্থলের পিপ, ভার্চুয়ালেনভ এবং সেটআপটোল উভয়ই রয়েছে। যাইহোক, আমি ভোজিয়্যাচ-এর ভার্চুয়ালেনভ ব্যবহারের পরামর্শকে দ্বিতীয় করেছিলাম।
জন্য ব্যক্তিগত পাইথন প্রকল্প একটি virtualenv মধ্যে পিপ এবং চাকা ব্যবহার
আপনার যদি সর্বশেষতম সংস্করণ প্রয়োজন হয়, বা মডিউলটি উবুন্টু সংগ্রহস্থলে নেই তবে একটি ভার্চুয়ালেনভ শুরু করুন এবং প্যাকেজটি ইনস্টল করার জন্য পিপ ব্যবহার করুন। যদিও পিপ এবং সেটআপলগুলি একত্রীকরণ করা হয়েছে, তবুও আইএমও পিপ ইজ-ইনস্টল বা ডিস্টুলেটগুলির তুলনায় বেশি পছন্দ করা হয়, কারণ এটি আপনার ফাইল সিস্টেমে অনুলিপি করার আগে প্যাকেজ সম্পূর্ণরূপে ডাউনলোড হয়ে যায় এবং তৈরি না হওয়া পর্যন্ত এটি সর্বদা অপেক্ষা করবে এবং এটি বাতাসকে আপগ্রেড বা আনইনস্টল করে না। অনেক উপায়ে এটি অ্যাপটি-গেটের অনুরূপ, এটি সাধারণত নির্ভরতাগুলি ভালভাবে পরিচালনা করে। তবে আপনি হবে পারে কিছু নির্ভরতা নিজেকে হ্যান্ডেল করতে হবে, কিন্তু যেহেতু PEP 513 গৃহীত হয় সেখানে এখন manylinux
উবুন্টু এবং ফেডোরা মত জনপ্রিয় লিনাক্স ডিস্ট্রো জন্য পাইথন প্যাকেজ ইন্ডেক্স (PyPI) এ বাইনেরিতে ।উদাহরণ হিসেবে NumPy এবং SciPy জন্য উপরে উল্লিখিত নিশ্চিত করুন যে আপনি ইনস্টল করা আছে gfortran, Atlas-দেবের Blas-dev ও উবুন্টু সংগ্রহস্থল থেকে lapack-দেব উদাহরণস্বরূপ, উভয় NumPy এবং SciPy এখন উবুন্টু হিসাবে বিতরণ করা হয় manylinux
কায়দা ডিফল্টরূপে ব্যবহার OpenBLAS পরিবর্তে আটলাসের আপনি এখনও ব্যবহার করে উৎস থেকে তাদের নির্মাণ করতে পারেন পিপ অপশন --no-use-wheel
বা--no-binary <format control>
।
~$ sudo apt-get install gfortran libblas-dev liblapack-dev libatlas-dev python-virtualenv
~$ mkdir ~/.venvs
~$ virtualenv ~/.venvs/my_py_proj
~$ source ~/.venvs/my_py_proj/bin/activate
~(my_py_proj)$ pip install --no-use-wheel numpy scipy
পিপ সহ ইনস্টলেশন স্কিমটি ব্যবহার করে sudoers
আপনার ব্যক্তিগত প্রোফাইলে পিপ, সেটআপটুলস, ভার্চুয়ালেনভ বা চাকার আপডেট সংস্করণ ইনস্টল করার জন্য নীচের অংশটি "আপনি নন" See --user
আপনার ব্যক্তিগত ব্যবহারের জন্য পাইপ আপডেট করতে আপনি এটি ব্যবহার করতে পারেন কারণ জেএফ সেবাস্তিয়ান তার মন্তব্যে অন্য উত্তরে নির্দেশ করেছেন । দ্রষ্টব্য: -m
পিপ আপডেট করার সময় এমএস উইন্ডোজে সত্যই প্রয়োজনীয় ।
python -m pip install --user pip setuptools wheel virtualenv
পাইপের নতুন সংস্করণগুলি স্বয়ংক্রিয়ভাবে চাকাগুলিকে ক্যাশে করে, তাই নিম্নলিখিত পিপগুলির পুরানো সংস্করণগুলির জন্য কেবল দরকারী। যেহেতু আপনি এগুলি বহুবার ইনস্টল করতে পারেন, তাই হুইলহাউস তৈরি করতে পাইপের সাথে চাকা ব্যবহার করার বিষয়টি বিবেচনা করুন। ইতিমধ্যে virtualenv
v13.0.0 থেকে চাকা অন্তর্ভুক্ত রয়েছে সুতরাং আপনার সংস্করণটি virtualenv
যদি খুব পুরানো হয় তবে আপনাকে প্রথমে চাকা ইনস্টল করতে হবে।
~(my_py_proj)$ pip install wheel # only for virtualenv < v13.0.0
~(my_py_proj)$ pip wheel --no-use-wheel numpy scipy
এটি বাইনারি হুইল ফাইলগুলি তৈরি করবে <cwd>/wheelhouse
, -d
একটি ভিন্ন ডিরেক্টরি নির্দিষ্ট করতে ব্যবহার করবে। এখন আপনি যদি অন্য একটি ভার্চুয়ালেনভ শুরু করেন এবং আপনার ইতিমধ্যে নির্মিত একই প্যাকেজগুলির প্রয়োজন হয় তবে আপনি সেগুলি ব্যবহার করে আপনার হুইলহাউস গঠন করতে পারেনpip install --find-links=<fullpath>/wheelhouse
পাইথন ডকুমেন্টেশনে পাইথন মডিউল ইনস্টল করা এবং পাইথন প্যাকেজ সূচক প্রধান পৃষ্ঠায় প্যাকেজ ইনস্টল করা পড়ুন । এছাড়াও পিপ , venv , virtualenv এবং চাকা ।
আপনি যদি না থাকেন sudoers
এবং virtualenv
ইনস্টল না হন।
একটি ভার্চুয়াল পরিবেশ ব্যবহার করে, বা আপনি root ব্যবহারকারীর অধিকার উপস্থিত থাকলে লিনাক্স ভাগ ব্যবহার করছেন, তাহলে ব্যবহার হয় আরেকটি বিকল্প --user
বা --home=<wherever-you-want>
পাইথন এর সঙ্গে স্কিম পাইথন ইনস্টলেশন distutils
মূল্য প্যাকেজগুলি ইনস্টল হবে site.USERBASE
বা যেখানেই আপনি চান করতে। পাইপের নতুন সংস্করণগুলিতেও একটি --user
বিকল্প রয়েছে। ব্যবহার করবেন না sudo
!
pip install --user virtualenv
যদি আপনার পাইপের লিনাক্স সংস্করণটি খুব পুরানো হয় তবে আপনি সেটআপ বিকল্পগুলি ব্যবহার করতে পারেন --install-option
যা setup.py
কিছু প্যাকেজগুলির জন্য কিছু স্ক্রিপ্টগুলিতে কাস্টম বিকল্পগুলি পাস করার জন্য দরকারী যা এক্সটেনশন তৈরি করে, যেমন সেটিং সেট করা PREFIX
। distutils
টাইপ করে প্যাকেজটি পুরাতন-স্কুল উপায়ে ইনস্টল করতে আপনাকে কেবল বিতরণটি বের করতে এবং ব্যবহার করতে হবে python setup install [options]
। কিছু পড়া ডকুমেন্টেশন ইনস্টল এবং distutils
ডকুমেন্টেশন সাহায্য করতে পারে।
পাইথন অন্য যে কোনও কিছুতে site.USERBASE
আপনার যোগ করার জন্য যথেষ্ট দুর্দান্ত PYTHONPATH
, সুতরাং পরিবর্তনগুলি কেবল আপনাকে প্রভাবিত করবে। জন্য একটি জনপ্রিয় অবস্থান --home
হয় ~/.local
। সঠিক ফাইল কাঠামোর জন্য এবং বিশেষত আপনার সাইট-প্যাকেজগুলি যেখানে পাইথন মডিউল ইনস্টলেশন গাইডটি দেখুন See উল্লেখ্য : যদি আপনি ব্যবহার --home
ইনস্টলেশন স্কিম তারপর আপনি এটি যোগ করতে প্রয়োজন হতে পারে PYTHONPATH
ব্যবহার এনভায়রনমেন্ট ভেরিয়েবল export
আপনার .bashrc
, .bash_profile
পাইথন উপলব্ধ হবে আপনার স্থানীয় প্যাকেজের জন্য অথবা আপনার শেল হবে।
গণিত, বিজ্ঞান, ডেটা বা ব্যক্তিগত প্রকল্পগুলির জন্য কন্টিনিয়াম অ্যানাকোন্ডা পাইথন ব্যবহার করুন
আপনি যদি গণিত, বিজ্ঞান বা ডেটা উভয়ের জন্য পাইথন ব্যবহার করছেন, তবে আইএমও হ'ল একটি ভাল বিকল্প হ'ল অ্যানাকোন্ডা-পাইথন ডিস্ট্রিবিউশন বা অ্যানাকোন্ডা ইনক দ্বারা প্রকাশিত আরও বেসিক মিনিকোন্ডা ডিস্ট্রো (পূর্বে কন্টিনাম অ্যানালিটিক্স হিসাবে পরিচিত ) । যদিও কেউ ব্যক্তিগত প্রকল্পের জন্য অ্যানাকোন্ডা ব্যবহার করে উপকৃত হতে পারে, ডিফল্ট ইনস্টলেশনটিতে নুমপি , সায়্পাই , পান্ডাস এবং ম্যাটপ্ল্লোলিবের মতো 500 টিরও বেশি গণিত এবং বিজ্ঞান প্যাকেজ অন্তর্ভুক্ত রয়েছে , যখন মিনিকোন্ডা কেবল অ্যানাকোন্ডা-পাইথন এবং কনডা পরিবেশ পরিচালককে ইনস্টল করে। অ্যানাকোন্ডা কেবল আপনার ব্যক্তিগত প্রোফাইলে ইনস্টল করে, অর্থাত্: /home/<user>/
এবং আপনার ব্যক্তিগত পরিবর্তনের জন্য অ্যানাকোন্ডার পথটি প্রবর্তন করে ~/.bashrc
বা ~/.bash_profile
আপনার ব্যক্তিগত পরিবর্তনের জন্য $PATH
সুপারিশ করে sourconda.sh
আপনার ~/.bashrc
যা আপনাকে conda activate <env|default is base>
অ্যানাকোন্ডা শুরু করতে ব্যবহার করতে দেয় - এটি কেবল আপনাকে প্রভাবিত করে - আপনার সিস্টেমের পথটি অপরিবর্তিত । অতএব আপনি কি না রুট অ্যাক্সেস বা প্রয়োজন sudo
anaconda ব্যবহার করুন! যদি আপনি ইতিমধ্যে আপনার ব্যক্তিগত পথে অ্যানাকোন্ডা-পাইথন, মিনিকোন্ডা বা কন্ডা যোগ করেছেন, তবে আপনার নিজের PATH
থেকে রফতানি সরিয়ে নেওয়া উচিত ~/.bashrc
এবং নতুন প্রস্তাবনায় আপডেট করা উচিত , তাই আপনার সিস্টেমটি পাইথন আবার প্রথম হবে।
এটি শেষাংশে --user
আমি যে বিকল্পটি ব্যাখ্যা করেছি তার সাথে কিছুটা মিলে যায়, কেবলমাত্র এটি প্যাকেজ নয়, পুরোপুরি পাইথনের ক্ষেত্রে প্রযোজ্য। অতএব Anaconda দ্বারা হয় আপনার সিস্টেমে পাইথন থেকে পুরোপুরিই আলাদা , এটি আপনার সিস্টেমে পাইথন হস্তক্ষেপ করবে না, এবং শুধুমাত্র আপনি ব্যবহার বা এটি পরিবর্তন করতে পারেন। যেহেতু এটি পাইথনের একটি নতুন সংস্করণ এবং এর সমস্ত লাইব্রেরি ইনস্টল করে আপনার কমপক্ষে 200MB কক্ষের প্রয়োজন হবে, তবে এটি ক্যাচিং এবং লাইব্রেরি পরিচালনা সম্পর্কে খুব চতুর যে আপনি অ্যানাকোন্ডা সহ কিছু শীতল জিনিসগুলির জন্য গুরুত্বপূর্ণ।
অ্যানাকোন্ডা একটি অনলাইন সংগ্রহস্থলে (পূর্বে বিনস্টার নামে পরিচিত ) নির্ভরতার দ্বারা প্রয়োজনীয় পাইথন বাইনারি এবং গ্রন্থাগারগুলির সংকলন তৈরি করে এবং তারা পৃথক "চ্যানেল" হিসাবে ব্যবহারকারী প্যাকেজগুলি হোস্ট করে। অ্যানাকোন্ডা দ্বারা ব্যবহৃত প্যাকেজ ম্যানেজার conda
, ডিফল্টরূপে অ্যানাকোন্ডা থেকে প্যাকেজ ইনস্টল করে, তবে আপনি -c
বিকল্পটি ব্যবহার করে একটি পৃথক "চ্যানেল" সংকেত দিতে পারেন ।
conda
ঠিক এর মতো প্যাকেজ ইনস্টল করুন pip
:
$ conda install -c pvlib pvlib # install pvlib pkg from pvlib channel
তবে conda
কি আরও অনেক কিছু করা যায়! এটি ঠিক ভার্চুয়াল পরিবেশ তৈরি এবং পরিচালনা করতে পারে virtualenv
। অতএব যেহেতু অ্যানাকোন্ডা ভার্চুয়াল পরিবেশ তৈরি করে, তাই pip
প্যাকেজ ম্যানেজারটি পিপিআই থেকে প্যাকেজ ইনস্টল করতে কোনও রুট বা অ্যানাকোন্ডা পরিবেশে ইনস্টল করতে ব্যবহার করা যেতে পারে sudo
। অ্যানাকোন্ডা ব্যবহার করবেন নাsudo
! সতর্কবাণী! মিক্স করার সময় pip
এবং conda
একটি অ্যানাকোন্ডা পরিবেশে সতর্কতা অবলম্বন করবেন না , খ / সি আপনাকে আরও যত্ন সহকারে প্যাকেজ নির্ভরতা পরিচালনা করতে হবে। pip
কনডা পরিবেশে অন্য বিকল্প হ'ল কনডা-ফরজ চ্যানেলটি ব্যবহার করা, তবে এটি একটি ডিফল্ট চ্যানেল হিসাবে কনডা-ফোর্জের সাথে একটি নতুন কনডা পরিবেশে করা ভাল। একটি সর্বশেষ অবলম্বন হিসাবে, আপনি পাইপআই-তে অন্য কোথাও কোনও প্যাকেজ না পেলে, ব্যবহারের বিষয়ে বিবেচনা করুন --no-deps
এবং অবশিষ্ট নির্ভরতাগুলি ম্যানুয়ালি ব্যবহার করে ইনস্টল করুন conda
।
আপনি যদি সেই সরঞ্জামটির সাথে পরিচিত হন তবে রুবি আরভিএমের কিছু উপায়ে অ্যানাকোন্ডাও একই রকম । অ্যানাকোন্ডা conda
আপনাকে পাইথনের বিভিন্ন সংস্করণ সহ ভার্চুয়াল পরিবেশ তৈরি করতে দেয় । উদাহরণস্বরূপ : conda create -n py35sci python==3.5.2 numpy scipy matplotlib pandas statsmodels seaborn
একটি নতুন পরিবেশে পাইথন -৩.৩ ব্যবহার করে একটি বৈজ্ঞানিক / তথ্য-বিজ্ঞান স্ট্যাক তৈরি করবে py35sci
। আপনি ব্যবহার করে পরিবেশ পরিবর্তন করতে পারেন conda
। Conda-4.4.0 সাল থেকে, এই এখন হয় বিভিন্ন থেকে virtualenv
যা ব্যবহার source venv/bin/activate
, কিন্তু পূর্ববর্তী conda-4.4.0conda
কমান্ড ছিল একই হিসাবে virtualenv
এবং ব্যবহৃত source
:
# AFTER conda-4.4
~/Projects/myproj $ conda activate py35sci
# BEFORE conda-4.4
~/Projects/myproj $ source activate py35sci
তবে অপেক্ষা করুন আরও আছে! অ্যানাকোন্ডা অ্যানাকোন্ডা চ্যানেল থেকে স্ট্যাটিস্টিকাল প্রোগ্রামিংয়ের জন্য আর এর মতো বিভিন্ন ভাষা ইনস্টল করতে পারে । এমনকি আপনি কন্ডার জন্য নির্মিত প্যাকেজ বিতরণগুলি আপলোড করতে নিজের চ্যানেল সেট আপ করতে পারেন । উল্লিখিত হিসাবে কনডা-ফোর্স কনডা-ফোর্স অ্যানাকোন্ডা চ্যানেলে পাইপআইতে প্যাকেজের অনেকগুলি স্বয়ংক্রিয় বিল্ডগুলি বজায় রাখে ।r
উপসংহার
আপনার ব্যক্তিগত প্রয়োজন এবং অ্যাক্সেসের উপর নির্ভর করে লিনাক্সে আপনার পাইথন প্রকল্পগুলি বজায় রাখার জন্য অনেকগুলি বিকল্প রয়েছে। যাইহোক, যদি এমন একটি জিনিস থাকে তবে আমি আশা করি আপনি এই উত্তরটি সরিয়ে নিয়েছেন তা হ'ল পাইথন প্যাকেজ ইনস্টল করার জন্য sudo
আপনার প্রায় কখনও ব্যবহারের প্রয়োজন হবে না । ব্যবহারটি আপনার কাছে দুর্গন্ধযুক্তsudo
হওয়া উচিত something তোমাকে সতর্ক করা হল.
শুভকামনা এবং শুভ কোডিং!