Szukam sposobu na utworzenie virtualenv, który będzie zawierał tylko niektóre biblioteki (które wybrałem) podstawowej instalacji Pythona.
Aby być bardziej konkretnym, próbuję zaimportować mój matplotlib do virtualenv podczas tworzenia virtualenv. Nie można go skutecznie zainstalować za pomocą pipa lub easy_install, ponieważ brakuje niektórych bibliotek kompilatora fortran. Do tej pory robiłem to ręcznie
/usr/lib/python2.7/dist-packages/ to virtualenv_name/lib/python2.7/dist-packages/
zapobiega to jednak rejestrowaniu ręcznie importowanych linków przez żółtko (które drukuje wszystkie aktualnie dostępne biblioteki lib w virtualenv).
Czy istnieje sposób na wybranie wariantu
virtualenv --system-site-packages
python
virtualenv
TheMeaningfulEngineer
źródło
źródło
--system-site-packages
. Odpowiedzi sugerują użycie nieselektywnego,--system-site-packages
a następnie lokalną deinstalację niektórych pakietów, co jest inne i ma różne implikacje.Odpowiedzi:
Utwórz środowisko za pomocą
virtualenv --system-site-packages
. Następnie aktywuj virtualenv, a jeśli chcesz zainstalować rzeczy w virtualenv zamiast w Pythonie systemowym, użyjpip install --ignore-installed
lubpip install -I
. W ten sposób pip zainstaluje to, o co prosiłeś lokalnie, nawet jeśli istnieje wersja ogólnosystemowa. Twój interpreter Pythona będzie najpierw szukał w katalogu pakietów virtualenv, więc pakiety te powinny śledzić globalne.źródło
no-global-site-packages
włączonym. Ale z jakiegoś powodu nie wiem, czy był używany pakiet z globalnego systemu. Korzystaniepip install -I
z pakietu z poziomu virtualenv nie działało. W końcu zakończyłem tymczasowe odinstalowanie pakietu zarówno z systemu virtualenv, jak i globalnego, a następnie mogłem zainstalować go ponownie w virtualenv i systemie (w tej kolejności). Więc teraz działa dobrze.Możesz użyć,
--system-site-packages
a następnie „przeinstalować” określone rzeczy dla swojego virtualenv. W ten sposób wszystko, co zainstalujesz w virtualenv, zostanie stamtąd pobrane, w przeciwnym razie zostanie pobrane z twojego systemu.źródło
Zainstaluj wirtualną env za pomocą
I użyć
pip install -U to install matplotlib
źródło
Możesz użyć
virtualenv --clear
. który nie zainstaluje żadnych pakietów, a następnie zainstaluj te, które chcesz.źródło