আর্চটিতে পাইথন প্যাকেজ ইনস্টল করার প্রস্তাবিত উপায়


37

আর্চটিতে পাইথন প্যাকেজ ইনস্টল করার প্রস্তাবিত উপায় কী? এওআর-তে তাদের সন্ধান করছেন এবং সেখান থেকে তাদের ইনস্টল করবেন (অথবা PKGBUILDনিজেই প্যাকেজ তৈরির জন্য একটি ফাইল তৈরি করুন) বা ব্যবহার করছেন pip?

আমি প্যাকম্যান এবং এওআর থেকে স্টাফ ইনস্টল করে শুরু করেছি এবং জানি না যে pipপ্যাকেজগুলির সাথে মেশানো বুদ্ধিমানের কাজ হবে know

উত্তর:


34

আপনার যদি সমস্ত ব্যবহারকারীর জন্য পাইথন প্যাকেজগুলির প্রয়োজন না হয় তবে আপনি সেগুলি আপনার বাড়িতে এটি ইনস্টল করতে পারেন:

pip install --user packagename

আপনার বাড়িতে ইনস্টল করা প্যাকেজ পরিচালকের সাথে বিরোধ করবে না।

ডিফল্টরূপে pip install --userআপনার "ব্যবহারকারী সাইট" ডিরেক্টরিতে ইনস্টল হবে। সাধারণত এরকম কিছু হল: /home/lesmana/.local/lib/python3.6/site-packages

নিম্নলিখিত "কমান্ড" অন্যদের মধ্যে আপনার "ব্যবহারকারী সাইট" অবস্থান মুদ্রণ করবে:

python -m site

ইনস্টল অবস্থানটি কাস্টমাইজ করতে:

PYTHONUSERBASE=$HOME/some/dir pip install --user packagename

এই অধীনে সবকিছু ইনস্টল করা হবে $HOME/some/dir

চালানোর জন্য:

PYTHONUSERBASE=$HOME/some/dir $HOME/some/dir/bin/progname

দেখুন পিপ ম্যানুয়াল আরও তথ্যের জন্য।


আপনি যদি সমস্ত ব্যবহারকারীর জন্য পাইথন প্যাকেজটি চান তবে এটি ইনস্টল করার সর্বোত্তম জায়গা /opt। উদাহরণস্বরূপ:

PYTHONUSERBASE=/opt/packagedir pip install packagename

(অনুপস্থিত নোট করুন --user)

এবং উপরের মতো চালানো:

PYTHONUSERBASE=/opt/packagedir /opt/packagedir/bin/progname

পটভূমি ব্যাখ্যা: /optসাধারণত স্থানীয় ব্যবহারকারী বা সিস্টেম প্রশাসক নিজের স্টাফ ইনস্টল করতে পারে এমন ডিরেক্টরি হিসাবে gnu / linux বিতরণ দ্বারা স্বীকৃত। অন্য কথায়: বিতরণগুলির প্যাকেজ ম্যানেজার সাধারণত স্পর্শ করে না /opt। এটি ফাইল - সিস্টেম হায়ারার্কি স্ট্যান্ডার্ডে কম-বেশি মানযুক্ত

ব্যবহারকারীদের স্বাচ্ছন্দ্যের জন্য আপনি এখনও একটি মোড়ক স্ক্রিপ্ট লিখতে এবং এটিতে /binবা এটিতে রাখতে চাইবেন /usr/bin। এটি এখনও বিতরণ প্যাকেজ ম্যানেজারের সাথে সংঘর্ষের ঝুঁকি বহন করে তবে কমপক্ষে এটি কেবল একটি র‍্যাপার স্ক্রিপ্ট ফাইল। সুতরাং ক্ষতি হতে পারে যে সর্বনিম্ন। আপনি মোড়কের স্ক্রিপ্টটির মতো নামকরণ করতে পারেন local-fooবা custom-fooবিতরণ প্যাকেজ ম্যানেজারের সাথে সংঘর্ষের ঝুঁকি আরও কমাতে।

বিকল্পভাবে আপনি নিজের র‍্যাপার স্ক্রিপ্টটি PATHঅন্তর্ভুক্ত করতে /opt/binএবং সেখানে রাখতে সংশোধন করতে পারেন । তবে এটির জন্য আপনাকে আবার এমন কোনও (বা কিছু) সিস্টেম ফাইল সংশোধন PATHকরতে হবে যেখানে সংজ্ঞায়িত হয় যা বিতরণ প্যাকেজ ম্যানেজার দ্বারা আবার ওভাররাইট করা যেতে পারে।

সংক্ষেপে: আপনি যদি সকল ব্যবহারকারীর জন্য ইনস্টল করতে চান তবে তা করুন /opt। আপনি আরামের জন্য মোড়কের স্ক্রিপ্টটি যেখানে রেখেছেন তা রায় দেওয়া কল।

/optফাইলসাইম হায়ারার্কি স্ট্যান্ডার্ড সম্পর্কে আরও তথ্য :


আইএমএইচও, এটি একসাথে ভার্চুয়ালেনভ সেট আপ করার জন্য একটি পয়েন্টার সহ গ্রহণযোগ্য উত্তর হওয়া উচিত।
ttsiodras

1
বিতৃষ্ণা। আরও নতুন pythonএবং কামনা কর আমি sudioপাইপ-পিংয়ের আগে জিনিসগুলি জানতাম । এর জন্য ধন্যবাদ.
হ্যান্ডি

কি হবে যদি আপনি না সকল ব্যবহারকারীর জন্য পাইথন প্যাকেজ প্রয়োজন?
মেহরদাদ

@ মেহরদাদ আপডেট উত্তর
লেসমান

@ লেসমানা: ধন্যবাদ! তবে আপনি কি নিশ্চিত যে এটি করার প্রস্তাব দেওয়া উপায়? এই প্রথম আমি শুনলাম যে কেউ পাইথনের পক্ষে / বেছে নেওয়ার পরামর্শ দিচ্ছে ...
মেহেরদাবাদ

9

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

পাইপ ব্যবহার করা আপনার নিজস্ব প্যাকেজ সংকলন এবং ইনস্টল করার পক্ষে বেশ সমান। আপনার প্রয়োজন হলে এটি করুন, তবে বিতরণের প্যাকেজ ম্যানেজারটিকে পছন্দ করুন।


2
আপনার একেবারে ব্যবহার এড়াতে হবে pip(কমপক্ষে বিশ্বজুড়ে sudoবা মূল হিসাবে) - কিছুটা নির্ভরশীলতা ইনস্টল করার চেষ্টা করার site-package/...সময় আমি বেশ কিছু ইতিমধ্যে বিদ্যমান ত্রুটি পেয়েছিpacman
টোবিয়াস কেইনজলার

আমি ঠিক এই জাতীয় ত্রুটিগুলি পেয়েছি। আমি সমস্ত পাইপ 3 প্যাকেজগুলি আপগ্রেড করেছিলাম এবং তারপরে বিরোধের কারণে প্যাকম্যান সিস্টেম আপগ্রেড করতে অস্বীকার করেছিল। আমাকে সেই প্যাকেজটি পাইপ 3 এবং প্যাকম্যান উভয়ের মাধ্যমেই আনইনস্টল করতে হয়েছিল, তারপরে সিস্টেমটি আপগ্রেড করতে হবে এবং অবশেষে প্যাকেজটি ফিরে ইনস্টল করতে হবে (অবশ্যই প্যাকম্যান ব্যবহার করে)।
আল.জি.

8

আর্চলিনাক্সের জন্য সঠিক উপায়

আর্কলিনাক্সে পাইথন প্যাকেজ ইনস্টল করার সঠিক উপায়টি প্যাকম্যান ব্যবহার করছে! পাইথন 3 এ প্যাকেজ ইনস্টল করতে আপনাকে ব্যবহার করতে হবে

sudo pacman -S python-'package'

আপনি যদি পাইথন 2 থেকে প্যাকেজ ইনস্টল করতে চান তবে আপনাকে ব্যবহার করতে হবে

sudo pacman -S python2-'package'

বেশিরভাগ পাইথন প্যাকেজগুলি আর্কলিনাক্স সংগ্রহস্থলগুলিতে এবং যে প্যাকেজগুলি এউআর (আর্চলিনাক্স ব্যবহারকারী সংগ্রহস্থল) এ নেই - এই প্যাকেজগুলির জন্য আপনাকে পিকেজিবিআইএলডি ফাইল ডাউনলোড করতে হবে এবং সংকলন করতে হবে। এর পরে, ইনস্টলেশন শেষ করতে আপনাকে প্যাকম্যান ব্যবহার করতে হবে

makepkg -s
sudo pacman -U 'compiled-package'

আর্চলিনাক্সের জন্য দ্বিতীয় সঠিক উপায়

যখন প্যাকেজটি আউরে নেই বা পিকেজিইউএলডি কাজ করছে না, আপনি পাইথন 3 এ ইনস্টল করার জন্য পিআইপি ব্যবহার করতে পারেন

sudo pip install 'python-package'

বা পাইথন 2

sudo pip2 install 'python-package'

আপনি virtualenvএমনকি বা এমনকি একটি সুযোগ দিতে পারেconda

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

sudo pacman -S python-virtualenv

এবং এই চেষ্টা করুন

virtualenv -p /usr/bin/python3 yourenv
source yourenv/bin/activate
pip install package-name

আপনি যখন এই পরিবেশটি তৈরি yourenvকরবেন, আপনি pipকেবলমাত্র এই পরিবেশে প্যাকেজ ইনস্টল করার জন্য সেটআপ করবেন, পুরো সিস্টেমে নয়।

লিনাক্সের সাথে প্যাকেজ পরিচালনা করতে আপনার আরও শিখতে চাইলে এই অন্যান্য লিঙ্কগুলি কার্যকর হতে পারে conda বাvirtualenv :

একটি বৃহত্তর নোটবুক থেকে পাইথন প্যাকেজ ইনস্টল করা

আর্কলিনাক্সে পাইথন কোড

আপনি যদি এই বিধিগুলি অনুসরণ করেন তবে আপনার আর্চলিনাক্সটি ভেঙে যাবে না এবং প্যাকম্যান এবং পিআইপি মধ্যে নির্ভরতা সমস্যা হবে না।

আশা করি এটি কার্যকর!


5

নির্দিষ্ট প্যাকেজগুলির জন্য (যেগুলি সম্ভবত আমি হ্যাক করতে চাই না), আমি এটি ব্যবহার করে আমার নিজস্ব প্যাকেজ তৈরি করি:

https://github.com/bluepeppers/pip2arch

তারপরে উত্পাদিত PKGBUILD তৈরি এবং ইনস্টল করুন।

আমি যে প্যাকেজগুলি সংশোধন করতে বা হ্যাক করতে চাই তার জন্য আমি ভার্চুয়াল্যানভগুলি রেখেছি।


এছাড়াও রয়েছে গিথুব
টোবিয়াস কেইনজলার

1

এখানে অন্যান্য উত্তর ছাড়াও, দেখুন python-virtualenv প্যাকেজটি দেখুন। যদি আপনি বিভিন্ন সংস্করণ সংখ্যার সাথে মেলে না এমন বিভিন্ন নির্ভরতা সহ বেশ কয়েকটি প্রকল্পে উন্নয়ন করছেন তবে এটি খুব কার্যকর হতে পারে।

https://wiki.archlinux.org/index.php/Python_VirtualEnv

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

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