Próbuję skonfigurować środowisko programistyczne na mojej nowej maszynie deweloperskiej w domu. Właśnie zainstalowałem Ubuntu, a teraz próbuję sklonować zdalne repo z naszego serwera sieciowego i zainstalować jego zależności, aby móc rozpocząć pracę.Pip nie instaluje pakietów do aktywowanego virtualenv, ignoruje require.txt
Do tej pory ręcznie zainstalowałem virtualenv
i virtualenvwrapper
z pypi i odpowiednio edytowałem mój plik bash.rc, aby źródło moich virtualenvs było uruchamiane po uruchomieniu terminala. Następnie sklonowałem moje repo do ~/projects/project-name/websitename.com
. Następnie użyłem virtualenvwrapper
do mkvirtualenv env-name
z ~/projects/project-name/websitename.com
. Odzwierciedla to dokładnie numer file-structure/setup
serwera internetowego, z którego sklonowałem. Jak na razie dobrze.
Zalogowałem się do serwera dev i aktywowałem tam virtualenv
i używam pip freeze -l > req.txt
do renderowania listy zależności i kopiowania do mojego komputera lokalnego. Aktywuję numer virtualenv
na moim komputerze lokalnym, przechodzę do ~/projects/project-name/websitename.com
i wykonuję pip install -r path-to-req.txt
i uruchamiam wszystkie zależności tak, jakby nic się nie stało. Jednak gdy próbuję uzyskać manage.py syncdb
pojawia się błąd dotyczący nieodnalezienia podstawowych pakietów django. Co do cholery? Więc jakoś nie udało mi się zainstalować Django, i run pip install Django==1.5.1
i zakończy się pomyślnie. Muszę ponownie skonfigurować witrynę i uzyskać kolejny błąd dotyczący braku modułu o nazwie django_extensions
. Okay, co do diabła z tym, po prostu zainstalowałem wszystkie te pakiety z pip ?!
Więc i pip freeze -l > test.txt
i cat test.txt
, co to jest lista? Django==1.5.1
, jeden pakiet, który właśnie zainstalowałem ręcznie. Dlaczego PIP nie instaluje moich zależności z mojej określonej listy w moim virtualenv? Co tu robię?
-Edycja -------------
Które pip daje mi ścieżkę do PIP w moim virtualenv
mam tylko 1 virtualenv i jest aktywowana
Wszystko, co robisz, wydaje się być w porządku, spróbuj debugować za pomocą 'which pip'. – elyase
również wypróbuj 'find ~/.virtualenvs -type d -iname" anypackage "', aby sprawdzić, czy wymagane pakiety są zainstalowane czy nie. Polecam również użycie 'https: // gist.github.com/insin/1425703', które da miły monit o aktywacji virtualenv w twoim bash. – sagarchalise
Uruchamiając swoje polecenie, jedynymi paczkami w moim virtualenv jest ten, który ręcznie poprosiłem pip, aby zainstalować Django, wszystkie inne przetwarzane przez pip w pliku wymagań zostały zignorowane. Też mam jakiś fajny monit wskazujący, który virtualenv mam aktywowany. – leotemp