Pip npm ইনস্টল প্যাকেজ --save-dev` এর সমপরিমাণ পিপ কি?


197

নোডেজে, আমি npm install package --save-devপ্যাকেজে ইনস্টল করা প্যাকেজটি সংরক্ষণ করতে পারি ।

পাইথন প্যাকেজ ম্যানেজারে আমি কীভাবে একই জিনিস অর্জন করব pip? আমি প্যাকেজটির নাম এবং এর সংস্করণটি সংরক্ষণ করতে চাই, বলুন, requirements.pipপ্যাকেজটি ইনস্টলের পরে ঠিক এর মতো কিছু ব্যবহার করে pip install package --save-dev requirements.pip


4
pip freeze > requirements.pip
ফলসেট্রু

5
এটি এক নয়। npm install package --save-devএকই সময়ে node_npm প্রয়োজনীয় ফাইলগুলিতে ইনস্টলেশন এবং সংযোজন উভয়কেই একত্রিত করে। এটি আরও কার্যকর। সঙ্গে pip freeze1): আমি একই জিনিস দুটি কমান্ড যা করতে হবে pip install package2)pip freeze > requirements.pip
hllau

1
পাইপ বিকল্প সম্পর্কে ইস্যু আছে --save
রুটস্কি

প্রয়োজনীয়তার জন্য যদি সেটআপ.পি ব্যবহার করে থাকে তবে আমি আপনার প্যাকেজ সংস্করণগুলিকে সেটআপ.পিতে জমা করার জন্য একটি ছোট মডিউল তৈরি করেছি ।
অ্যাডামগল্ড

উত্তর:


162

এর সাথে সমতুল্য কিছু নেই pip

সেরা উপায় হয় pip install package && pip freeze > requirements.txt

আপনি তাদের ডকুমেন্টেশন পৃষ্ঠায় সমস্ত উপলব্ধ বিকল্প দেখতে পারেন ।

যদি এটি আপনাকে সত্যিই বিরক্ত করে, একটি কাস্টম বাশ স্ক্রিপ্ট ( pips) লিখতে খুব বেশি অসুবিধা হবে না যা একটি -sযুক্তি নেয় এবং আপনার requirements.txtফাইলে স্বয়ংক্রিয়ভাবে জমা হয়ে যায়।

সম্পাদনা 1

এটি লেখার পর --save-devথেকে এনপিএমের মতো অটো বিকল্প সরবরাহের ক্ষেত্রে কোনও পরিবর্তন হয়নি তবে কেনেথ রিটিজ (লেখক requestsএবং আরও অনেক) আরও ভাল পিপ ওয়ার্কফ্লো সম্পর্কে আরও কিছু তথ্য প্রকাশ করেছে যাতে উন্নত হ্যান্ডেল pipআপডেট হয়।

সম্পাদনা 2

উপরের "আরও ভাল পাইপ ওয়ার্কফ্লো" নিবন্ধ থেকে লিঙ্কযুক্ত এটি এখন pipenvপ্রয়োজনীয়তা এবং ভার্চুয়াল পরিবেশ পরিচালনার জন্য ব্যবহার করার পরামর্শ দেওয়া হচ্ছে । সাম্প্রতিককালে এটি প্রচুর ব্যবহার করে সংক্ষেপটি কতটা সহজ তা সংক্ষেপে বলতে চাই:

ইনস্টল করুন pipenv(ম্যাকে)

brew install pipenv

pipenvএটির নিজস্ব ভার্চুয়াল পরিবেশ তৈরি করে এবং পরিচালনা করে তাই একটি বিদ্যমান প্রকল্পে requirements.txt, সমস্ত প্রয়োজনীয়তা ইনস্টল করে (আমি পাইথন ৩. use ব্যবহার করি তবে আপনি --threeযদি এটি না করেন তবে অপসারণ করতে পারেন) যতটা সহজ:

pipenv --three install

কমান্ডগুলি চালাতে ভার্চুয়ালেনভকে সক্রিয় করাও সহজ

pipenv shell

প্রয়োজনীয়তা ইনস্টল করা স্বয়ংক্রিয়ভাবে আপডেট হবে PipfileএবংPipfile.lock

pipenv install <package>

পুরানো প্যাকেজগুলি আপডেট করাও সম্ভব possible

pipenv update

আমি অত্যন্ত সুপারিশ এটি চেক করার একটি থেকে আসছে, বিশেষ করে যদি npmপটভূমি যেমন একটি অনুরূপ মনে আছে package.jsonএবংpackage-lock.json


22
নোট করুন যে এটি নির্ভরতাগুলির নির্ভরতাগুলিও সংরক্ষণ করবে যে সময়ের সাথে সাথে আর প্রয়োজন হয় না কারণ নির্ভরতা এটির ব্যবহার বাদ দেয়।
প্যাট্রিক বসুত

এটি মূল প্রশ্নটির - সেভ-ডেভ দিকটিকে সম্বোধন করবে বলে মনে হচ্ছে না যা আপনাকে স্থানীয় বনাম উত্পাদনের জন্য বিভিন্ন নির্ভরতা রাখতে দেয়। আপনি কীভাবে পাইপেনভ দিয়ে এটি অর্জন করতে পারেন?
জিজনাগ

1
@ জেজনাগ pipenvআপনাকে কমান্ড লাইন থেকে dev-packagesআপনার Pipfileএবং / অথবা ব্যবহার --dev(বা -d) এর মধ্যে একটি নির্দিষ্ট করতে দেয় । উদাহরণস্বরূপpipenv install --dev nose2
ইভান

39

এই সরল রেখাটি একটি সূচনা পয়েন্ট। লাইনে থাকা প্যাকেজটি পুনরায় ব্যবহার করতে আপনি সহজেই একটি ব্যাশ কমান্ড তৈরি করতে পারেন।

pip install PACKAGE && pip freeze | grep PACKAGE >> requirements.txt

সরল বাশ ফাংশন উদাহরণের জন্য @ ডেভেন্ডসকে ধন্যবাদ:

function pip-install-save { 
    pip install $1 && pip freeze | grep $1 >> requirements.txt
}

এটি ব্যবহার করতে, কেবল চালান:

pip-install-save some-package

আমার পাঁচটি সেন্টP=Flask pip install $P && pip freeze | grep $P >> requirements.txt
জিবিরিয়ান

4

আমি পাইথন প্যাকেজ তৈরি করেছি যা প্রকৃত pipনামক পিপএমকে ঘিরে রাখে । সমস্ত pipকমান্ডগুলি যেমন হয় তেমন কাজ করবে, এবং প্রয়োজনীয় ফাইলে সেগুলি প্রতিফলিত হবে। pip-save(একই সরঞ্জামটি আমি খুঁজে পেয়েছি এবং এটি ব্যবহার করতে সক্ষম ছিল না) এর বিপরীতে এটি অনেকগুলি ফাইল এবং পরিবেশ (পরীক্ষা, দেব, উত্পাদন ইত্যাদি) পরিচালনা করতে পারে। আপনার সমস্ত / যে কোনও নির্ভরতা আপগ্রেড করারও কমান্ড রয়েছে।

স্থাপন

pipm install pkg-name

উন্নয়ন নির্ভরতা হিসাবে ইনস্টলেশন

pipm install pkg-name --dev

পরীক্ষার নির্ভরতা হিসাবে ইনস্টলেশন

pipm install pkg-name --test

অপসারণ

pipm uninstall pkg-name

আপনার সমস্ত নির্ভরতা আপডেট করুন

pipm update

প্রয়োজনীয়তা ফাইল থেকে আপনার সমস্ত নির্ভরতা ইনস্টল করুন

pipm install

উন্নয়ন নির্ভরতা সহ

pipm install --dev


3

আপডেট: দৃশ্যত, পাইপেনভ আনুষ্ঠানিকভাবে পাইথন রক্ষণাবেক্ষণকারীদের দ্বারা অনুমোদিত নয় এবং পূর্বে লিঙ্কযুক্ত পৃষ্ঠাটি একটি পৃথক সংস্থার মালিকানাধীন। সরঞ্জামটির উপকারিতা এবং বিপরীতে রয়েছে তবে নীচের সমাধানটি এখনও ওপি সন্ধান করছে এমন ফলাফল অর্জন করে।

পিপেনভ হ'ল নির্ভরতা পরিচালন সরঞ্জাম যা pipআপনার কাছে যা জিজ্ঞাসা করে তা সরবরাহ করে এবং অন্যান্য বিষয়গুলির মধ্যে:

https://pipenv.kennethreitz.org/en/latest/#example-pipenv-workflow

$ pipenv install <package>

এটি উপস্থিত থাকলে একটি পাইপ ফাইল তৈরি করবে। যদি একটি বিদ্যমান থাকে তবে এটি আপনার সরবরাহিত নতুন প্যাকেজটির সাথে স্বয়ংক্রিয়ভাবে সম্পাদিত হবে।

A এর Pipfileপ্রত্যক্ষ সমতুল্য package.json, যদিও এর Pipfile.lockসাথে মিল রয়েছে package-lock.json


2

কমান্ডগুলি ইনস্টল / আনইনস্টল করার বিকল্প pipযুক্ত করতে আমি একটি দ্রুত হ্যাক করেছি --save

এই হ্যাক সম্পর্কে আরও তথ্যের জন্য দয়া করে আমার ব্লগটি দেখুন: http://blog.abhiomkar.in/2015/11/12/pip-save-npm- Like-behaviour-to-pip/

ইনস্টলেশন (গিটহাব): https://github.com/abhiomkar/pip-save

আশাকরি এটা সাহায্য করবে.


1

আপনি নিজে এটি একটি Makefile (বা একটি পাঠ্য ফাইল এবং তারপর আপনার Makefile এ আমদানি) এ সংরক্ষণ করতে পারেন :


PYTHON=.venv/bin/python # path to pyphon
PIP=.venv/bin/pip # path to pip
SOURCE_VENV=. .venv/bin/activate


install:
    virtualenv .venv
    $(SOURCE_VENV) && $(PIP) install -e PACKAGE
    $(SOURCE_VENV) && $(PIP) install -r requirements.txt # other required packages

এবং তারপর শুধু চালান make install


আমি এই পদ্ধতির সাথে সম্পূর্ণ একমত
এলিজোনমার্ক

1

আমি একটি প্যাকেজ ইনস্টল করতে এবং এর সংস্করণ এতে সংরক্ষণ করতে এই ছোট কমান্ড লাইনটি ব্যবহার করছি requirements.txt: pkg=package && pip install $pkg && echo $(pip freeze | grep -i $pkg) >> requirements.txt


0

এটি করতে শেল ফাংশনটি কীভাবে করা যায়? আপনার ~/.profileবা নীচে কোড যুক্ত করুন~/.bashrc

pips() {
    local pkg=$1

    if [ -z "$1" ]; then
        echo "usage: pips <pkg name>"
        return 1
    fi

    local _ins="pip install $pkg"
    eval $_ins
    pip freeze | grep $pkg -i >> requirements.txt
}

তারপরে চালান source ~/.profileবা source ~/.bashrcএটি আপনার বর্তমান টার্মিনালে আমদানি করতে

আপনি যখন কোনও প্যাকেজ ইনস্টল && করতে চান, কেবল চালান, উদাহরণস্বরূপ pips requests। প্যাকেজ ইনস্টল হওয়ার পরে, এর সংস্করণটি requirements.txtআপনার বর্তমান ডিরেক্টরিতে সংরক্ষণ করা হবে ।

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