კონტენტზე გადასვლა

🐍 პითონის პროექტების ეფექტური მართვა ვირტუალური გარემოებით

🔹 შესავალი

როდესაც მუშაობთ პითონის პროექტებზე, შეიძლება შეამჩნიოთ, რომ სხვადასხვა პროექტს სჭირდება პითონის ან პაკეტების განსხვავებული ვერსიები.
ყველა პაკეტის გლობალურად დაყენებამ შეიძლება გამოიწვიოს კონფლიქტები.

👉 აქ ჩნდება ვირტუალური გარემო — ინსტრუმენტი, რომელიც ქმნის იზოლირებულ სივრცეს თითოეული პროექტისთვის და უზრუნველყოფს სუფთა და ეფექტურ მართვას.


🔹 რა არის ვირტუალური გარემო?

ვირტუალური გარემო არის თქვენი პითონის პროექტისთვის განკუთვნილი „ქვიშის ყუთი“.
ეს არის ცალკე დირექტორია, რომელიც შეიცავს:
- პითონის კონკრეტულ ვერსიას
- ყველა იმ პაკეტს, რაც თქვენს პროექტს სჭირდება

📖 ანალოგია: ისევე, როგორც სკოლაში სხვადასხვა საგნისთვის ცალკე რვეული გაქვთ, ვირტუალური გარემო ინარჩუნებს თითოეული პროექტის დამოკიდებულებებს განცალკევებულად.


🔹 რატომ გამოვიყენოთ ვირტუალური გარემოები?

  • კონფლიქტების თავიდან აცილება – ერთი პროექტი იყენებს requests v2.25, ხოლო მეორე requests v2.28-ს.
  • სუფთა განვითარება – გლობალური Python რჩება სუფთა.
  • განმეორებადობაrequirements.txt ფაილით სხვასაც შეუძლია ზუსტად იგივე გარემოს შექმნა.
  • ექსპერიმენტები – უსაფრთხოდ გამოსცადეთ ახალი პაკეტები.
  • პორტაბელურობა – პროექტი ერთნაირად იმუშავებს სხვა კომპიუტერზეც.

🔹 როგორ შევქმნათ ვირტუალური გარემო

1. შექმნა

python -m venv venv

2. გააქტიურება

  • Windows-ზე
    .env\Scriptsctivate
    
  • macOS/Linux-ზე
    source venv/bin/activate
    

👉 ტერმინალში გამოჩნდება (venv) — ეს ნიშნავს, რომ ვირტუალური გარემო აქტიურია.

3. პაკეტების დაყენება

pip install requests
pip list

4. დეაქტივაცია

deactivate

🔹 დამოკიდებულებების მართვა

  • ჩამონათვალის შექმნა

    pip freeze > requirements.txt
    

  • დაყენება სხვა გარემოში

    pip install -r requirements.txt
    


🔹 საუკეთესო პრაქტიკა

  • გამოიყენეთ ერთი ვირტუალური გარემო თითო პროექტზე
  • დაარქვით გარემოს სტანდარტული სახელი: venv ან .venv
  • ყოველთვის შექმენით requirements.txt
  • წაშალეთ გარემო, თუ პროექტი აღარ გჭირდებათ
  • გამოიყენეთ Git კოდის ვერსიების და გარემოს მართვისთვის

🔹 venv-ის ალტერნატივები

  • virtualenv – ძველი ვერსიებისთვის
  • poetry / pipenv – დამოკიდებულებებისა და გარემოს მართვა ერთში
  • conda – პოპულარული მონაცემთა მეცნიერებაში

🔹 პრობლემების გადაჭრა

  • command not found → დარწმუნდით, რომ Python PATH-შია
  • ❌ არასწორი ვერსია → გამოიყენეთ python3 -m venv venv
  • ❌ პაკეტი ვერ მოიძებნა → დარწმუნდით, რომ გარემო გააქტიურებულია

🔹 დასკვნა

ვირტუალური გარემოები:
- ინარჩუნებენ პროექტებს ორგანიზებულად
- თავიდან გვარიდებენ კონფლიქტებს
- აადვილებენ თანამშრომლობას