ভার্চুয়ালেনভগুলি কোথায় তৈরি করা উচিত?


106

আমার ভ্যুচুয়ালেনভগুলি কোথায় রাখা উচিত তা নিয়ে আমি বিভ্রান্ত।

আমার প্রথম জাঙ্গো প্রকল্পটি দিয়ে, আমি কমান্ডটি দিয়ে প্রকল্পটি তৈরি করেছি

django-admin.py startproject djangoproject

আমি তখন জাঙ্গোপ্রজেক্ট ডিরেক্টরিতে সিডি করলাম এবং কমান্ডটি চালাচ্ছি

virtualenv env

যা অভ্যন্তরীণ djangoprojectডিরেক্টরি হিসাবে একই স্তরে ভার্চুয়াল পরিবেশ ডিরেক্টরি তৈরি করেছে ।

এই বিশেষ প্রকল্পের জন্য ভার্চুয়ালেনভ তৈরি করার জন্য এটি কি ভুল জায়গা?

আমি এই ধারণাটি পেয়ে যাচ্ছি যে বেশিরভাগ লোকেরা তাদের সমস্ত ভ্যুচুয়ালেভগুলি সম্পূর্ণ আলাদা ডিরেক্টরিতে রেখে দেয়, যেমন ~/virtualenvs, এবং তারপর তাদের মধ্যে পিছনে পিছনে স্যুইচ করতে ভার্চুয়ালেনভ্রাপার ব্যবহার করুন।

এটি করার কোনও সঠিক উপায় আছে কি?

উত্তর:


128

অনেক লোক ভার্চুয়ালেনভ্রাপার সরঞ্জাম ব্যবহার করে যা সমস্ত ভ্যুচুয়াল্নভকে একই জায়গায় ( ~/.virtualenvsডিরেক্টরি) রাখে এবং সেগুলি তৈরি এবং সেখানে রাখার জন্য শর্টকাটগুলির অনুমতি দেয়। উদাহরণস্বরূপ, আপনি এটি করতে পারেন:

mkvirtualenv djangoproject

এবং তারপরে:

workon djangoproject

প্রকল্পের মধ্যেই ভার্চুয়ালেনভ ডিরেক্টরিটি রাখা সম্ভবত একটি খারাপ ধারণা, যেহেতু আপনি এটি বিতরণ করতে চান না (এটি আপনার কম্পিউটার বা অপারেটিং সিস্টেমের সাথে সুনির্দিষ্ট হতে পারে)। পরিবর্তে, পিপ ব্যবহার করে প্রয়োজনীয়তা.টিএসটি ফাইল রাখুন :

pip freeze > requirements.txt

এবং যে বিতরণ। এটি আপনার প্রকল্পটি ব্যবহার করে এমন অন্যদের সাথে তাদের ভার্চুয়ালেনভের সাথে একই প্রয়োজনীয়তা পুনরায় ইনস্টল করার অনুমতি দেবে:

pip install -r requirements.txt

আমি কখনও পাইপের স্টাফগুলিতে সন্ধান করতাম না তবে আমার যদি কোনও দিন প্রয়োজন হয় তবে এটি কাজে আসবে
জোরান ব্যাসলে

পাইপ জাজানো সম্প্রদায়তে খুব জনপ্রিয় এবং ব্যবহারে খুব সহজ easy
ডেভিড রবিনসন

ধন্যবাদ ডেভিড, আমি যা ভেবেছিলাম এটাই সেই রকম। আমি প্রয়োজনীয় জিনিসগুলি সম্পর্কে জানতাম এবং তা করছি। আমি ভিনিভ কোথায় যেতে হবে সে সম্পর্কে নিশ্চিত ছিলাম না। ওএস-নির্দিষ্ট হওয়া সম্পর্কে আপনার মন্তব্যটি আপনার পরামর্শ অনুসারে কাজ করার পক্ষে একটি ভাল ন্যায়সঙ্গত।
রায়

ভার্চুয়াল পরিবেশ তৈরি হওয়ার পরে কি এটি স্থানান্তর করা সম্ভব? আমি
নির্দ্বিধায়

6
একটি দুর্দান্ত ন্যায়সঙ্গত আইএমও নয়। .Gitignore এটা কি জন্য নয়?
জোশ নয়ে

24

ভার্চুয়ালেনভ ডিরেক্টরিটির অবস্থান পরিবর্তন করে এটি ভেঙে যায়

এই অধীনে সংগ্রহস্থলের গাছ, যেমন নির্দেশিকা বাহিরে নির্বাণ এক সুবিধা ~/.virtualenvsদিয়ে virutalenvwrapper

অন্যথায়, আপনি যদি এটি প্রকল্পের গাছে রাখেন তবে প্রকল্পের অবস্থানটি সরিয়ে ফেললে ভ্যাচুয়ালেনভটি ভেঙে যায়।

দেখুন: কোনও ভার্চুয়ালেনভ ফোল্ডারটি না ভেঙে নতুন নামকরণ

আছে --relocatableতবে এটি নিখুঁত নয় বলে জানা গেছে।

আর একটি ছোট্ট সুবিধা: আপনার .gitignoreএটির দরকার নেই।

প্রকল্প গাছে নিজেই এটি গিটিগনারেড রাখার সুবিধাগুলি হ'ল:

  • সম্পর্কিত জিনিস একসাথে রাখে।
  • আপনি সম্ভবত কোনও প্রকল্পগুলিতে প্রদত্ত ভার্চুয়ালেনভকে পুনরায় ব্যবহার করতে পারবেন না, সুতরাং এটি অন্য কোথাও রাখলে খুব বেশি সুবিধা হয় না

3
প্রকল্পের গাছের বাইরে ভার্চুয়ালেনভ ফোল্ডার তৈরি করার জন্য এটিই কেবল যুক্তিসঙ্গত যুক্তি! অন্যান্য গাইডেন্সে 'কেন্দ্রিয়করণ' ডগমাকে পুনরাবৃত্তি করার মতো মনে হচ্ছে যেন এটি মূলত ভ্রুচুয়ালভ্যান্সগুলি ভেঙে যাওয়ার কারণে দুর্ভাগ্যজনক সমঝোতার পরিবর্তে একটি সর্বোত্তম অভ্যাস ছিল (যদিও এটি বেশ কার্যকর!)
rob3c

দুঃখিত, কিছু আমার কাছে পরিষ্কার নয়, তাই আপনি কি এটি প্রকল্পের গাছে তৈরি করার পরামর্শ দিচ্ছেন এবং তারপরে এটি "gitignore" করবেন বা ~ / .virtualenvs এ তৈরি করবেন? "যদি এটি তার পক্ষে না হত" কী বোঝায়?
অ্যাডারচক্স

1
@ অ্যাডারচক্স একটি ট্রেডঅফ রয়েছে: এটি প্রকল্পের গাছে রাখুন এবং এটি আপনাকে পুনরায় ইনস্টল করতে হবে বা এটি লাগাতে হবে tree তবে প্রকল্পের বাইরে অতিরিক্ত সাবডির পরিচালনা করুন।
সিরো সান্তিলি 法轮功 冠状 病 六四 事件 法轮功

5

তাদের রাখার জন্য সাধারণভাবে গৃহীত স্থান হ'ল ভার্চুয়ালেনভ্রাপার ডিফল্ট ইনস্টলেশন তাদের রাখে: ~/.virtualenvs

সম্পর্কিত: ভার্চুয়ালেনভ্র্যাপার একটি দুর্দান্ত সরঞ্জাম যা সাধারণ ভার্চুয়ালেনভ কমান্ডের শর্টহ্যান্ড সরবরাহ করে। http://www.doughellmann.com/projects/virtualenvwrapper/


0

আপনি যদি ব্যবহার করেন pyenv install Pythonতবে পায়েনভ-ভ্যুচুয়ালেনভ সেরা অভ্যাস হবে be যদি .python-versionফাইল সেট করা থাকে তবে আপনি কাজের ফোল্ডারটি পরিবর্তন করার সময় এটি ভার্চুয়াল এনভিটিকে স্বয়ংক্রিয়ভাবে সক্রিয় বা নিষ্ক্রিয় করতে পারে। ফোল্ডারে Pyenv-virtualenvসমস্ত ভার্চুয়াল এনভিও রাখুন $HOME/.pyenv/versions


0

আমার ব্যক্তিগত অভিজ্ঞতা থেকে, আমি সমস্ত ভার্চুয়াল পরিবেশকে একটি একক ডিরেক্টরিতে সংগঠিত করার পরামর্শ দেব। কারও কাছে তীব্র মেমরি না থাকলে এবং ফাইল সিস্টেমের সর্বত্র ছড়িয়ে থাকা ফাইল / ফোল্ডারগুলি মনে রাখতে পারে। ভার্চুয়াল পরিবেশটি পরিচালনার জন্য অন্যান্য সরঞ্জামগুলি ব্যবহার করার কোনও বড় পাখা নয় Not ভিএসকোডে আমি যদি python.venvPathসমস্ত ভার্চুয়াল পরিবেশযুক্ত ( ) ডিরেক্টরিটি কনফিগার করে থাকি তবে এটি স্বয়ংক্রিয়ভাবে সেগুলির সবগুলি সনাক্ত করতে পারে।

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