কোনও স্থানীয় ডিরেক্টরি থেকে প্রয়োজনীয়তা.এসটিএসটি ফাইল অনুসারে পাইপ ব্যবহার করে প্যাকেজগুলি কীভাবে ইনস্টল করবেন?


1082

এখানেই সমস্যা

আমার একটি প্রয়োজনীয়তা রয়েছে t txt যা দেখতে দেখতে:

BeautifulSoup==3.2.0
Django==1.3
Fabric==1.2.0
Jinja2==2.5.5
PyYAML==3.09
Pygments==1.4
SQLAlchemy==0.7.1
South==0.7.3
amqplib==0.6.1
anyjson==0.3
...

আমার কাছে একটি স্থানীয় সংরক্ষণাগার ডিরেক্টরি রয়েছে যা সমস্ত প্যাকেজ + অন্যকে ধারণ করে।

এর সাথে আমি একটি নতুন ভার্চুয়ালেনভ তৈরি করেছি

bin/virtualenv testing

এটি সক্রিয় করার পরে, আমি স্থানীয় সংরক্ষণাগার ডিরেক্টরি থেকে প্যাকেজগুলি প্রয়োজনীয়তা অনুসারে ইনস্টল করার চেষ্টা করেছি t

source bin/activate
pip install -r /path/to/requirements.txt -f file:///path/to/archive/

আমি কিছু আউটপুট পেয়েছি যা দেখে মনে হচ্ছে ইনস্টলেশনটি ভাল is

Downloading/unpacking Fabric==1.2.0 (from -r ../testing/requirements.txt (line 3))
  Running setup.py egg_info for package Fabric
    warning: no previously-included files matching '*' found under directory 'docs/_build'
    warning: no files found matching 'fabfile.py'
Downloading/unpacking South==0.7.3 (from -r ../testing/requirements.txt (line 8))
  Running setup.py egg_info for package South
....

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


4
আপনি --no-indexএটি ব্যবহার করার চেষ্টা করেছেন যাতে এটি পিপিআইয়ের দিকেও তাকান না?
হুগো টাভেরেস

2
আপনি ত্রুটি বার্তা স্নিপ করেছেন। এটি সাধারণত নীচের কাছাকাছি।
বুকজার

আপনি প্যাকেজ নামের পরিবর্তে ফাইলের পাথগুলি ব্যবহার করতে পারেন, এর অর্থ আপনার প্রয়োজনীয়তা.txt ফাইলটি পরিবর্তন করতে হবে, তবে পাইপ ইনস্টল কমান্ডটি একই রাখবেন।
asafge

9
সর্বাধিক ভোট দেওয়া উত্তর (মাইক লিয়নসের একটি) এমনকি প্রশ্নের উত্তর দেয় না । আপনি দয়া করে কোডের উত্তরটি সঠিকটি গ্রহণ করতে পারেন?
পাইওটর ডব্রোগস্ট

উত্তর:


785

এটি আমার পক্ষে কাজ করে:

$ pip install -r requirements.txt --no-index --find-links file:///tmp/packages

--no-index- প্যাকেজ সূচক উপেক্ষা করুন ( --find-linksপরিবর্তে কেবলমাত্র ইউআরএলগুলি দেখছেন )।

-f, --find-links <URL>- যদি কোনও URL বা এইচটিএমএল ফাইলে পাথ থাকে তবে সংরক্ষণাগারগুলিতে লিঙ্কগুলির জন্য বিশ্লেষণ করুন। কোনও স্থানীয় পাথ বা file://URL যা ডিরেক্টরি, তবে ডিরেক্টরি তালিকার জন্য সংরক্ষণাগারগুলি সন্ধান করুন।


7
--no-indexকমান্ড পাইপ সম্পর্কিত তথ্য --no-index প্যাকেজ সূচক উপেক্ষা করুন ইনস্টল করতে সহায়তা করে (কেবলমাত্র এর --find-linksপরিবর্তে ইউআরএলগুলি দেখছেন )। কমান্ড পাইপ থেকে প্রাপ্ত তথ্য --find-linksইনস্টল করতে সহায়তা করে -f , --find-links <url>যদি কোনও url বা এইচটিএমএল ফাইলে পাথ দেয় তবে সংরক্ষণাগারগুলির লিঙ্কগুলির জন্য বিশ্লেষণ করুন। কোনও স্থানীয় পাথ বা ফাইল: // ইউআরএল যদি এটি ডিরেক্টরি হয় তবে ডিরেক্টরি তালিকার জন্য সংরক্ষণাগারগুলি সন্ধান করুন।
AWrightIV

1
//, এটি একটি খুব মার্জিত সমাধান হতে পারে, বিশেষত বিক্রেতাদের সাথে চিরন্তন লড়াই দেওয়া: বিটপ্রপেট.আর.বিগ
নাথান বাসানিজ

এর সাথে একটি সতর্কতা হ'ল আপনি pip install <some_module>ব্যবহার requirements.txtনা করেই করতে পারেন তবে তা আপডেট হবে না requirements.txt। কোনও বিকল্প কোনও ডকার আপডেট করতে পারে যেমন নির্ভরতা ইনস্টল করতে চালিত সমস্ত পাইপ ইনস্টল কমান্ডগুলি তালিকাভুক্ত করে।
এম্পারস্যান্ডগুলি

python -m pip install -r requirements.txtঅ্যাক্টিভেটেড ভেনভ এনভায়ারভেন্টের ভিতরে গিয়ে আমি এটি চেষ্টা করেছি । জিনিসগুলি সহজেই ইনস্টল করা হয় তবে আমি যখন পাইপ তালিকা করি তখন এটি প্যাকেজগুলি প্রদর্শন করে না, যখন আমি সক্রিয় ভেন্টে থাকি বা এমনকি ভেন্টকে নিষ্ক্রিয় করার পরেও না। যে প্যাকেজ ব্যবহার করতে সক্ষম নয়। এখানে কী ঘটেছে তা জানেন না
শ্রেয়ান মেহতা

আপনি কি নিশ্চিত pythonযে সক্রিয় পরিবেশের অজগর নির্বাহযোগ্য ( $ which python) ব্যবহার করেন?
কোডেপ

1364

আমি উপরেরটি পড়েছি, বুঝতে পারি এটি একটি পুরানো প্রশ্ন, তবে এটি সম্পূর্ণ সমাধান হয়নি এবং এখনও আমার গুগল অনুসন্ধানের ফলাফলের শীর্ষে রয়েছে তাই এখানে একটি উত্তর যা সবার পক্ষে কাজ করে:

pip install -r /path/to/requirements.txt

284
আমি বুঝতে পারছি এই উত্তরটি মূল প্রশ্ন করে না, কিন্তু এটা প্রশ্ন ছিল আমি যখন আমি Google এ এই পাওয়া উত্তর ...
জনাথন

আসল প্রশ্নটি পরিবর্তিত হয়েছে - লক্ষ্য করুন যে সে এখন /path/to/requirements.txt কীভাবে ব্যবহার করছে।
মাইক

8
@ মাইক লাইন্সটি নিশ্চিত যে প্রশ্নটি বাস্তবে পরিবর্তিত হয়নি - সম্পাদনার ইতিহাস নেই।
মার্ক আমেরিকা

48
যারা কী টাইপ করতে চান তাদের জন্য, কমান্ডের -r এর অর্থ "প্রয়োজনীয় ফাইল থেকে ইনস্টল করুন" এবং
ফ্লোরেন্ট চ্যাটারজি

2
আমি যখন কোনও প্যাকেজ আপগ্রেড করতে চাই (যেমন জাজানো), আমি আমার প্রয়োজনীয়গুলি.txt ফাইলের সংস্করণটি পরিবর্তন করি এবং তারপরে চালিত করি pip install -r /path/to/requirements.txt। এটি পরিবর্তনটি সনাক্ত করে, প্যাকেজটি আপগ্রেড করে এবং সমস্ত কিছু একা ফেলে দেয়।
ব্যবহারকারী

129

প্রয়োজনীয় সংস্করণে সমস্ত ফাইল ইনস্টল করতে ভার্চুয়ালেনভের জন্য t

  1. যেখানে ডিরেক্টরি.txt অবস্থিত সেখানে ডিরেক্টরিতে সিডি করুন
  2. আপনার ভার্চুয়ালেনভকে সক্রিয় করুন
  3. চালান: pip install -r requirements.txt আপনার শেল মধ্যে

3
"pyenv virtualenv পিপ ইনস্টল requirements.txt কাজ করছে না" গুগল অনুরোধে জন্য ...
Jerad

এটি অন্য
জবাবগুলির

58

আমারও একই সমস্যা ছিল। আমি এটি চেষ্টা করেছি:

pip install -U -r requirements.txt 

(-U = আপডেট যদি এটি ইতিমধ্যে ইনস্টল করা থাকে)

তবে সমস্যাটি অব্যাহত ছিল। আমি বুঝতে পারি যে উন্নয়নের জন্য কিছু জেনেরিক লাইব্রেরি মিস হয়েছে were

sudo apt-get install libtiff5-dev libjpeg8-dev zlib1g-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk

আমি জানি না এটি আপনাকে সাহায্য করবে কিনা।


32
pip install -r requirements.txt

আরও তথ্যের জন্য দয়া করে সহায়তা বিকল্পটি পরীক্ষা করে দেখুন।

pip install --help

আমরা '-r' বিকল্পটি খুঁজে পেতে পারি

-r, - প্রয়োজনীয় ইনস্টলেশন ফাইলটি থেকে প্রয়োজনীয় ইনস্টল করুন। এই বিকল্পটি একাধিকবার ব্যবহার করা যেতে পারে।

কিছু সাধারণ ব্যবহৃত পাইপ ইনস্টল অপশন সম্পর্কিত আরও তথ্য: (এটি পাইপ ইনস্টল কমান্ডের সহায়তা বিকল্প)

এখানে চিত্র বর্ণনা লিখুন

এছাড়াও উপরেরটি বিকল্পগুলির সম্পূর্ণ সেট। বিকল্পগুলির সম্পূর্ণ তালিকার জন্য দয়া করে পাইপ ইনস্টল --help ব্যবহার করুন।


26

সংক্ষিপ্ত উত্তর

pip install -r /path/to/requirements.txt

বা অন্য রূপে:

python -m pip install -r /path/to/requirements.txt

ব্যাখ্যা

এখানে, -rএর সংক্ষিপ্ত রূপ --requirementএবং এটি pipপ্রদত্ত requirementsফাইলটি থেকে ইনস্টল করতে বলে ।

pipকেবলমাত্র requirementsফাইলের তালিকাভুক্ত সমস্ত আইটেমের প্রাপ্যতা যাচাই করার পরে ইনস্টলেশন শুরু হবে এবং এটি উপলব্ধ না হয়েও ইনস্টলেশন শুরু করবে না requirement

উপলভ্য প্যাকেজগুলি ইনস্টল করার জন্য একটি কার্যপ্রণালী হ'ল তালিকাভুক্ত প্যাকেজগুলি একে একে ইনস্টল করা। তার জন্য নিম্নলিখিত কমান্ডটি ব্যবহার করুন। অনুপলব্ধ প্যাকেজগুলি সম্পর্কে আপনাকে অবহিত করতে একটি লাল রঙের সতর্কতা দেখানো হবে।

cat requirements.txt | xargs -n 1 pip install

মন্তব্যগুলি (একটি দিয়ে শুরু হওয়া লাইন #) এবং ফাঁকা লাইনগুলিকে উপেক্ষা করতে , ব্যবহার করুন:

cat requirements.txt | cut -f1 -d"#" | sed '/^\s*$/d' | xargs -n 1 pip install

20

প্রায়শই, আপনি পিআইপিআই পরীক্ষা না করেই স্থানীয় সংরক্ষণাগারগুলি থেকে একটি দ্রুত ইনস্টল করতে চান।

প্রথমে আপনার প্রয়োজনীয়তা পূরণ করে এমন সংরক্ষণাগারগুলি ডাউনলোড করুন:

$ pip install --download <DIR> -r requirements.txt

তারপরে –find-linksএবং ব্যবহার করে ইনস্টল করুন –no-index:

$ pip install --no-index --find-links=[file://]<DIR> -r requirements.txt

no such option: --download
সর্বোচ্চ মালিশ

12

আমি অনেকগুলি সিস্টেমের সাথে কাজ করি যা বিকাশকারীরা "ইন্টারনেটে তারা খুঁজে পেয়েছে নিম্নলিখিত নির্দেশাবলী" দ্বারা উপদ্রুত হয়েছে। এটি অত্যন্ত সাধারণ যে আপনার pipএবং আপনার pythonএকই পথ / সাইট-প্যাকেজগুলির দিকে তাকাচ্ছেন না। এই কারণে, যখন আমি বিজোড়তার মুখোমুখি হই তখন আমি এটি করে শুরু করি:

$ python -c 'import sys; print(sys.path)'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages']

$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/dist-packages (python 2.7)

এটি একটি সুখী ব্যবস্থা

নীচে একটি অসুখী সিস্টেম রয়েছে । (বা কমপক্ষে এটি একটি সুখী অজ্ঞান ব্যবস্থা যা অন্যকে অসন্তুষ্ট করে তোলে))

$ pip --version
pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)

$ python -c 'import sys; print(sys.path)'
['', '/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/usr/local/Cellar/python/2.7.13/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']

$ which pip pip2 pip3
/usr/local/bin/pip
/usr/local/bin/pip3

এটি অসুখী কারণ pip(পাইথন ৩..6 এবং) ব্যবহার করার /usr/local/lib/python3.6/site-packagesসময় python(পাইথন ২..7 এবং) ব্যবহার করছে/usr/local/lib/python2.7/site-packages

আমি যখন নিশ্চিত করতে চাই যে আমি সঠিক অজগরটিতে প্রয়োজনীয়তা ইনস্টল করছি , আমি এটি করি:

$ which -a python python2 python3
/usr/local/bin/python
/usr/bin/python
/usr/local/bin/python2
/usr/local/bin/python3

$ /usr/bin/python -m pip install -r requirements.txt

আপনি শুনেছেন, "যদি এটি না ভেঙে যায় তবে এটিকে ঠিক করার চেষ্টা করবেন না।" এর ডিভোপস সংস্করণটি হ'ল "যদি আপনি এটিটি না ভাঙেন এবং আপনি এটির চারপাশে কাজ করতে পারেন তবে এটি ঠিক করার চেষ্টা করবেন না।"


10

প্রথমত, ভার্চুয়াল পরিবেশ তৈরি করুন

অজগর 3.6 এ

virtualenv --python=/usr/bin/python3.6 <path/to/new/virtualenv/>

অজগর ২.7 এ

virtualenv --python=/usr/bin/python2.7 <path/to/new/virtualenv/>

তারপরে পরিবেশটি সক্রিয় করুন এবং প্রয়োজনীয়.txt ফাইলটিতে উপলব্ধ সমস্ত প্যাকেজ ইনস্টল করুন।

source <path/to/new/virtualenv>/bin/activate
pip install -r <path/to/requirement.txt>

9

অজগর 3 সহ ভার্চুয়াল এনভির ভিতরে প্রয়োজনীয়তা.টিএসটিএল ফাইল ইনস্টল করা হচ্ছে:

আমারও একই প্রশ্ন ছিল. আমি ভার্চুয়াল এনভায়রনমেন্টের ভিতরে প্রয়োজনীয়গুলি.txt ফাইল ইনস্টল করার চেষ্টা করছিলাম। আমি সমাধান খুঁজে পেয়েছি।

প্রাথমিকভাবে, আমি এইভাবে আমার ভার্চুয়াল এনভিভি তৈরি করেছি:

virtualenv -p python3 myenv

পরিবেশটি সক্রিয় করুন:

source myenv/bin/activate

এখন আমি প্রয়োজনীয়তা.এসটিএসটি ব্যবহার করে ইনস্টল করেছি:

pip3 install -r requirements.txt

ইনস্টলেশন সফল হয়েছিল এবং আমি মডিউলগুলি আমদানি করতে সক্ষম হয়েছি।


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

1
Windows এ Anaconda দ্বারা পাইথন 3.6 ব্যবহার করে, আমি কি ছিল virtualenv -p python myenv, myenv\Scripts\activate.bat,pip install -r requirements.txt
bdforbes

1
আসলে, বিপরীত, এই শুধুমাত্র উত্তর যে মত মনে হয় না স্থানীয়ভাবে সংজ্ঞায়িত deps ইনস্টল প্রশ্ন অংশ উত্তর requirements.txtএকটি virtualenv করতে। আমি কিছু মিস করছি না হলে? যাইহোক ধন্যবাদ!
davnicwil

8

এটা চেষ্টা কর

python -m pip install -r requirements.txt

7
pip install --user -r requirements.txt 

অথবা

pip3 install --user -r requirements.txt 

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