2012-03-21 32 views
8

W końcu zamierzam zacząć używać virtualenv dla moich projektów Django na mojej maszynie programistycznej. Zanim zacznę, chcę wiedzieć, czy są jakieś szczególne względy związane z moimi istniejącymi projektami. Moja domniemywać pracy jest coś takiego:Używanie virtualenv ze starszymi projektami Django

  1. zrobić nowy virtualenv
  2. aktywować nowy virtualenv
  3. zainstalują Django tam
  4. pip zainstalować wszystkie pakiety Wiem, że muszę do mojego istniejącego projektu
  5. skopiuj moje pliki projektu Django, pliki aplikacji i pliki git do folderu projektu w virtualenv.

Edit 6. make plik wymagania dla wdrożenia

Jest to oczywiście bardzo uproszczony, ale czy są jakieś kroki czy względy jestem zasadniczo brakuje? Czy git będzie zadowolony z przeprowadzki? Czy najlepiej jest mieć oddzielne virtualenv dla każdego projektu Django?

Wiem, że to nie jest typowy problem z kodem, ale mam nadzieję, że ci, którzy znają więcej niż ja, mogą wskazać mi właściwy kierunek.

Wielkie dzięki.

+0

Nigdy nie żałowałem przejścia na używanie virtualenv –

+0

Tak, jestem trochę zawstydzony, odkładam to na tak długo. –

+0

W razie potrzeby edytuj również pliki wsgi.py i pliki mod_wsgi. – User

Odpowiedz

6

Nie widzę żadnego poważnego problemu przy migracji projektów i myślę, że twój 5-etapowy plan jest poprawny, w szczególności dla kroków 3/4/5 (scaliłbym je), możesz obsłużyć zależności projektu z pip, prawdopodobnie przy użyciu requirement files.

Pliki wymagań są plikami tekstowymi informującymi o tym, które pakiety muszą być zainstalowane w twoim virtualenv, zawierając projekty śledzone przez git, które ostatecznie mogą zostać wdrożone w twoim wirtualnym środowisku jako jaja rozwojowe (przynoszą ze sobą informacje kontroli wersji) . Gdy masz plik req, to ​​kwestia:

pip install -r file.req 

mieć wszystkie potrzebne pakiety zainstalowane w env. Jak widać z virtualenv docs, typowy plik req będzie zawierać coś takiego:

django==1.3.0 
-e git://git.myproject.org/MyProject.git#egg=MyProject 

ja zwykle trzymać każdy projekt we własnym virtualenv, więc mogę wdrożyć go do serwera produkcyjnego w ten sam sposób mogę zrobić dla rozwój lokalny.

+0

Świetnie. Dziękuję Ci! –

Powiązane problemy