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বিকল্পটি নির্দিষ্ট করতে পারেন --target। pip 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.