ভার্চুয়ালেনভ এবং উত্স সংস্করণ নিয়ন্ত্রণ


84

আমি সম্প্রতি একটি জ্যাঙ্গো প্রকল্প শুরু করেছি এবং আমি দ্রুত বুঝতে পেরেছিলাম যে ভার্চুয়ালেনভ বহু কারণে সত্যিই দরকারী হবে। আমি ভার্চুয়ালেনভ এবং আমার প্রকল্প স্থাপন করেছি, তবে এখন আমি ভাবছি যে আমার উত্স নিয়ন্ত্রণে আমার কোন ফাইল যুক্ত করা উচিত (আমার ক্ষেত্রে, মুরচুরিয়াল)। আমি কি ভেন্ভ ফোল্ডারের নীচে সমস্ত ফাইল যুক্ত করব? আমি কীভাবে নিশ্চিত করব যে কোনও সহকর্মী ক্লোন করতে পেরেছেন এবং আবার এনভির সাথে সেটআপ করার সাথে সাথেই কাজ শুরু করতে পারেন?


18
আমি ভার্চুয়ালেনভকে উত্স নিয়ন্ত্রণের অধীনে রাখার পরামর্শ দেব না - এটি পাইথন সংস্করণ, ওএস বা 32/64 বিট প্ল্যাটফর্মের মধ্যে বহনযোগ্য হবে না। পরিবর্তে, শুধু ব্যবহার করুন ~/path/to/virtualenv/bin/pip freeze > ~/path/to/repo/requirements.txt। অন্যান্য বিকাশকারীদের সেটআপ তাদের নিজস্ব virtualenv প্রয়োজন হবে, কিন্তু এটা আক্ষরিক দুই কমান্ড নেই - virtualenv ~/path/to/env, ~/path/to/env/bin/pip install -r ~/path/to/requirements.txt
আদমকেজি

4
প্রিয় Googler, এছাড়াও দেখুন: stackoverflow.com/a/6012590/82216

উত্তর:


106

আপনি requirements.txtআপনার প্রকল্পের সাথে প্রতিশ্রুতিবদ্ধ একটি "প্রয়োজনীয়তা" ফাইল তৈরি করেন (সাধারণত ):

pip freeze > requirements.txt

তারপরে, প্রতিটি বিকাশকারী তাদের নিজস্ব ভ্যুচুয়ালেনভ সেট আপ করবে এবং চালাবে:

pip install -r requirements.txt

6

অজগর / জ্যাঙ্গো বিকাশ করার সময় এই সমস্ত পরিবেশের ঝামেলাগুলি এক ধরণের সাধারণ! আমি এই সমস্ত সমস্যার মধ্যে দিয়েছি, এবং আমি কিছু সমাধান পরীক্ষা করেছি! আমি যা পরীক্ষা করেছি সেগুলি:

  1. স্থানীয়ভাবে প্রকল্প চলছে
  2. ভার্চুয়ালেনভের প্রকল্প চলছে
  3. একটি ভিএম-তে প্রকল্প চলছে
  4. ভিজেন্ট ব্যবহার করে একটি ভিএম-তে চলছে প্রকল্প

আমি খুঁজে পেয়েছি সেরা সমাধানটি ছিল # 4! কারণ যে সংস্থাটিতে আমি কাজ করতাম, দলের প্রতিটি ব্যক্তির আলাদা ওএস রয়েছে, সব ধরণের উইন্ডোজ, ম্যাক এবং লিনাক্স রয়েছে এবং প্রতিটি পরিবেশের জন্য সমস্ত নির্ভরতা ইনস্টল করতে সময় লাগে! সুতরাং আমরা সিদ্ধান্ত নিয়েছিলাম ভার্চুয়ালেনিভ, যা সত্যিই ভাল! তবে এখনও প্রত্যেক ব্যক্তিকে তার নিজস্ব পরিবেশ তৈরি করতে হবে। ভার্চুয়ালনেভের সমস্যাটি হ'ল সমস্ত অজগর উত্সগুলি আপনি যে পরিবেশটি তৈরি করেছেন তার মধ্যে রয়েছে! সুতরাং আমি সেই ফাইলগুলিকে উত্স সংস্করণ নিয়ন্ত্রণে ঠেকাব না! সেরা সমাধানটি ছিল # 4, কারণ এটি আমার প্রয়োজন ঠিক ছিল, ভ্যাগ্র্যান্ট আপনার পরিবেশ নির্ধারণের জন্য শেফকে ব্যবহার করে, সুতরাং আপনাকে কেবল কয়েকটি রেসিপি লিখতে হবে, এবং ভ্যাগ্র্যান্টগুলি এগুলি আপনার জন্য চালাতে দিন! তারপরে আপনি সেই রেসিপিগুলি এসসিএম-তে চাপ দিন, তারপরে যখন পরবর্তী ব্যক্তি এসসিএম থেকে ফাইলগুলি নেবে এবং ভিএম পুনরায় লোড করবে সমস্ত নির্ভরতা স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যাবে!

আমার কাছে একটি ব্লগ পোস্ট রয়েছে যা এই বিষয়ে আরও ব্যাখ্যা করার সাথে সাথে আমি গিথুবে একটি জ্যাঙ্গো ফাঁকা প্রকল্প তৈরি করেছি যাতে আপনি এটি ভিজেন্ট ব্যবহার করে আপনার প্রকল্পের একটি সূচনা পয়েন্ট পেতে পারেন।

http://arthurnn.com/blog/2011/11/25/easy-django-quickstart/ (লিঙ্কটি আর সক্রিয় নেই, তাই ওয়েব্যাক মেশিনের সাথে সংযুক্ত)

সম্পাদনা

ক্রিস প্র্যাট থেকে সমাধানও ভাল একটি, তবে কিছু গ্রন্থাগারগুলি সমস্ত ওএসে ইনস্টল করার জন্য এতটা সহজ নয়, উদাহরণস্বরূপ, মাইকের অনেক লোক মাইএসকিউএলডিবি-পাইথন ইনস্টল করতে চাইলে সমস্যা হয়। যা সত্যিই একটি সাধারণ পাঠাগার, তবে আপনার দলের প্রত্যেককে যদি এই সমস্যাগুলি সমাধান করতে সময় দিতে হয় তবে তা মোটেই ভাল নয়!


MySQLdb-pythonএকটি সম্পূর্ণ পরিবেশ ব্যবহার করার জন্য এটি সত্যিই ভাল কারণ, তবে এটি পিপ / প্রয়োজনীয়তাগুলিও কি সম্পন্ন করা যায় না? Txt?
kbuilds
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.