2011-11-27 15 views
13

Innymi słowy, jaka jest różnica między poleceniami mkvirtualenv i mkproject?Jaki jest związek między środowiskami i projektami w virtualenvwrapper?

Mam przepływ pracy, który wygląda tak:

/dev 
    projectA 
     appA 
     appB 
    projectB 
     appA 
     appB 

Wszystkie aplikacje udostępniania pewnych zasobów (takich jak South, pep8, etc.), ale inne środki są specyficzne dla każdej aplikacji. Czy powinienem używać "projektów" virtualenvwrapper, aby rozdzielić te zależności?

+0

Co to jest projekt virtualenvwrapper? Virtualenwrapper tworzy, zarządza i usuwa virtualenvs. Możesz uczynić dowolne virtualenv, które lubisz aktywne dla terminala. – hughdbrown

Odpowiedz

15

Z mojego zrozumienia documentation, mkvirtualenv projectenv prostu tworzy nowy wirtualnego środowiska nazwie projectenv w $WORKON_HOME, natomiast mkproject projectenv utworzenie nowego wirtualnego środowiska nazwie projectenv i nowy katalog o nazwie projectenv; po utworzeniu katalog projectenv automatycznie staje się bieżącym katalogiem roboczym. Środowisko wirtualne będzie istnieć w $WORKON_HOME, a katalog deweloperski istnieje w $PROJECT_HOME.

Uwaga, aby mkproject działał poprawnie, należy najpierw ustawić zmienną środowiskową PROJECT_HOME na nazwę katalogu, w którym mają być tworzone projekty. Możesz to zrobić w tym samym miejscu, w którym ustawiłeś zmienną $WORKON_HOME lub ustawisz ją w locie, np.

export PROJECT_HOME=$HOME/src/allprojects 
mkproject mynewproject 

mynewproject będzie teraz aktualna wirtualne środowisko i nowy mynewproject katalog będzie istnieć w ~/src/allprojects.

3

mkvirtualenv jest komenda z virtualenvwrapper sprawia, że ​​virtualenvs zarządzający Pythona łatwiejsze, a mkproject pochodzi z wtyczki virtualenvwrapper do zarządzania projektami (który został zintegrowany bezpośrednio virtualenvwrapper)

strona plugin wymienia następujące cechy:

Zarządza katalogami roboczymi projektów programistycznych wraz ze środowiskami virtualenv . Definiuje interfejs API do tworzenia szablonów, aby szybko tworzyć nowe środowiska. Użyj polecenia workon z virtualenvwrapper, aby przełączać się między projektami. Konfigurowalne haki użytkownika do dostosowywania nowych projektów.

Nie musisz tworzyć ani zarządzać swoimi projektami za pomocą plugin virtualenvwrapper, aby korzystać z komend virtualenv. Jest to po prostu wtyczka dla wygody, np. Zamiana do katalogu projektu podczas wydawania polecenia workon lub tworzenia nowych projektów z szablonów.

Dla virtualenv nie ma możliwości współdzielenia bibliotek, z wyjątkiem pakietów systemowych site-packages, jeśli używasz poprawnej flagi. Natknąłem się na projekt, który dał ci tę umiejętność między innymi, ale nigdy go nie znalazłem.

EDYCJA: virtualenvwrapper ma teraz funkcjonalność copy virtualenvs, a także dodawanie katalogów do ścieżki virtualenv w celu uzyskania share libraries.

Powiązane problemy