Pip হোম ফোল্ডারে পাইপ প্যাকেজ ইনস্টল করা হচ্ছে


330

এটা কি সম্ভব? ইনস্টল করার সময় pip, আমার $HOMEফোল্ডারের ভিতরে পাইথন প্যাকেজগুলি ইনস্টল করুন । (উদাহরণস্বরূপ, আমি ইনস্টল করতে চাই mercurial, ব্যবহার করতে চাই pip, তবে এর $HOMEপরিবর্তে ভিতরে/usr/local )

আমি একটি ম্যাক মেশিনের সাথে আছি এবং এই সম্ভাবনা সম্পর্কে কেবল ভেবেছি, "দূষিত" আমার পরিবর্তে /usr/local, আমি আমার ব্যবহার করব$HOME পরিবর্তে পরিবর্তে ।

PEP370 ঠিক এই সম্পর্কে। এই প্যাকেজগুলি কেবলমাত্র আমার $ হোম ফোল্ডারে ইনস্টল করার জন্য কেবল একটি তৈরি করা ˜/.localএবং pip install packageযথেষ্ট পরিমাণে করা হচ্ছে?


আপনি কি ভার্চুয়ালেনভ পরীক্ষা করেছেন? আপনি বিচ্ছিন্ন পরিবেশে পাইপ সহ প্যাকেজ ইনস্টল করতে পারেন।
joet3ch

2
আমি এটি সম্পর্কে ভেবেছিলাম, তবে আমি বিদ্যমান অজগরটি (2.6.1) ব্যবহার করে কিছু পাইথন অ্যাপ্লিকেশন ইনস্টল করতে চাই, তবে / usr / স্থানীয় / এ ইনস্টল করার পরিবর্তে আমার $ হোম ফোল্ডারে ইনস্টল করুন এবং এটি $ PATH এ যুক্ত করুন। এটি সম্ভব কিনা এবং আমি এই পদ্ধতির কোনও সতর্কতা জানতে চাই।
এখনও কেউ আপনাকে এমএস-ডস

11
PEP370 প্রচার করার জন্য +1। এটি একটি সাধারণ তবে দরকারী বিকল্প যা সম্পর্কে আরও বেশি লোকের জানা উচিত।
নেড ডিলি 22'11

আমি একই ধরণের সমস্যার সাথে লড়াই করছিলাম (সম্ভবত ভুল কনফিগার্ড পাইপ এবং ইজি_ইনস্টল দুটি পৃথক পাইথনগুলির জন্য তৈরি)। শেষ অবলম্বন হিসাবে, আমি প্লেইন ব্যবহার করার চেষ্টা করেছি $ python setup.py --user install। এবং এটা কাজ করে. প্যাকেজ এখন হোম সাবডিরে ইনস্টল করা হয়েছে এবং সমস্ত প্রত্যাশার মতো কাজ করে। আমার সার্ভার প্রশাসকের সাথে কথা বলতে হবে।
জান ভ্লিনকিনস্কি

1
আপনার যদি পিআইপি ইনস্টল করতে হয় তবে wget https://bootstrap.pypa.io/get-pip.pyঅনুসরণ করার মতো কিছু করুন python get-pip.pyএবং আপনি যেতে ভাল। আপনি যদি এমন কোনও মেশিনে থাকেন তবে ইনস্টলড পিআইপি খুব পুরানো (আমার ক্ষেত্রে ছিল) if আরও তথ্যের জন্য পিপ.ড্রেডশেডস.আর.ইন / স্লেট / ইনস্টলিং এইচটিএমএল দেখুন ।
মার্কাস

উত্তর:


463

আপনি একটি ব্যবহার করতে পারেন virtualenv, আপনার প্রয়োজন হবে না। কৌশলটি স্ক্রিপ্টে PEP370 টি --userআর্গুমেন্টটি পার করছে is setup.pyএর সর্বশেষতম সংস্করণ সহ pip, এটি করার একটি উপায় হ'ল:

pip install --user mercurial

এর ফলে hgস্ক্রিপ্টটি ইনস্টল হওয়া $HOME/.local/bin/hgএবং বাকী এইচজি প্যাকেজটি অন্তর্ভুক্ত থাকে $HOME/.local/lib/pythonx.y/site-packages/

দ্রষ্টব্য, পাইথন ২.6 এর জন্য উপরেরটি সত্য। একটি হয়েছে বিতর্কের বিট কি PEP370 স্টাইলের জন্য Mac OS X এর জন্য উপযুক্ত ডিরেক্টরি অবস্থান সম্পর্কে পাইথন কোর ডেভেলপারদের মধ্যে userইনস্টলেশনের। পাইথন ২.7 এবং ৩.২ এ ম্যাক ওএস এক্সের অবস্থানটি বদলে দেওয়া $HOME/.localহয়েছিল $HOME/Library/Python। এটি ভবিষ্যতের প্রকাশে পরিবর্তিত হতে পারে। তবে, আপাতত ২.7 (এবং ৩.২- hgতে পাইথন 3-তে সমর্থন করা থাকলে) উপরের অবস্থানগুলি হবে $HOME/Library/Python/x.y/bin/hgএবং $HOME/Library/Python/x.y/lib/python/site-packages


ভাল যুক্তি. দুর্ভাগ্যক্রমে, পাইথন ২.7 এ একটি বাগ রয়েছে যার ফলে পাইথোনসারবাএসই ওএস এক্স ফ্রেমওয়ার্ক বিল্ডগুলির জন্য উপেক্ষা করা হবে। এটি পাইথন ২.7.৩ এর জন্য স্থির করা হবে।
নেড ডিলি

1
এটি দেখতে খুব আগ্রহী। easy_installডিফল্টরূপে ম্যাক ওএস এক্সে ইনস্টল হয়, তাই আমার $HOMEফোল্ডারের বাইরে কেবল পাইপ ইনস্টল হবে ।
এখনও কেউ আপনাকে এমএস-ডস

1
আমি পাইথোনাসবার্সে অন্য জায়গায় পরিবর্তন করার চেষ্টা করেছি। সাফল্য নেই. এটি কীভাবে উইন্ডোজটিতে বিশেষভাবে করা হয়?
স্নের্ড

2
সাবধান, আপনি যদি এটি করেন এবং তারপরে কনডা এনভায়রনমেন্টগুলি ব্যবহার করার চেষ্টা করেন তবে ইনস্টল করা ফাইলগুলি .localসর্বদা প্রথমে আঘাত হানে যা আমদানি ত্রুটিগুলি ট্র্যাক করার জন্য খুব শক্ত হতে পারে।
টাকাসওয়েল

12
নোট করুন যে ওএসএক্স-এ, ব্যবহারকারী সাইট ডিরেক্টরিটির বিন ফোল্ডারটি PATH এ নেই। এর অর্থ ব্যবহারকারী সাইট ডিরেক্টরিতে প্যাকেজগুলির দ্বারা ইনস্টল করা স্ক্রিপ্টগুলি যদি না আপনি নির্বাহযোগ্য হয় না export PATH=$PATH:~/Library/Python/X.Y/bin/
আন্দ্রে কারন

21

আমি আপনার হোম ডিরেক্টরিতে virtualenv ব্যবহার করব।

$ sudo easy_install -U virtualenv
$ cd ~
$ virtualenv .
$ bin/pip ...

তারপরে আপনিও পরিবর্তন করতে পারবেন ~/.(login|profile|bash_profile), আপনার শেলটি আপনার প্যাথএইচএই / bin / বিন যোগ করার জন্য যে কোনওটি সঠিক এবং তারপরে এটি pip|python|easy_installডিফল্টরূপে ব্যবহৃত হবে।


9
"কার্যত" এই না হয় virtualenv venv, source venv/bin/activate। আপনি অগত্যা সর্বদা আপনার ভার্চুয়ালেনভ ব্যবহার করতে চান না এবং এই পদ্ধতিটি ব্যবহার করে আপনার প্রম্পটটি (venv)আপনি যখন ব্যবহার করছেন তখন এটির সাথে উপসর্গ তৈরি করা হয়।
nyuszika7h

2
@ nyuszika7h আমরা কিভাবে ভার্চুয়ালেনভ ব্যবহার করতে জানি। তবে এটি সত্যই প্রশ্নের উত্তর দেয় এবং এটি একটি খুব ঝরঝরে সমাধান।
itafire

8
@itsafire "আমরা" কে? আমি সুপারিশ আপনি পড়তে en.wikipedia.org/wiki/Weasel_word
nyuszika7h

3
যাইহোক, আমি একমত নই, এটি কোনও "ঝরঝরে সমাধান" নয়। এটি একটি অর্থহীন হ্যাক।
nyuszika7h

19

গন্তব্য ডিরেক্টরিটি নির্দিষ্ট করতে আপনি -tবিকল্পটি নির্দিষ্ট করতে পারেন --targetpip install --helpবিস্তারিত তথ্যের জন্য দেখুন । এটি আপনার প্রয়োজন আদেশটি:

pip install -t path_to_your_home package-name

উদাহরণস্বরূপ, mxnet বলার জন্য ইনস্টল করার জন্য, আমার $HOMEডিরেক্টরিতে, আমি টাইপ করি:

pip install -t /home/foivos/ mxnet

একটি ত্রুটি পেয়েছে distutils.errors.DistutilsOptionError: can't combine user with prefix, exec_prefix/home, or install_(plat)base। এর মানে কী?
অ্যান্টনি কং

সম্পর্কিত আলোচনার জন্য github.com/pypa/pip/issues/3826 দেখুন । আমি এ সম্পর্কে আরও কিছু জানি না, তবে আমি আমার পরিবেশে কখনও সমস্যার মুখোমুখি হইনি।
ফোয়েভোস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.