Od czasu do czasu potrzebujemy zainstalować biblioteki w Anaconda nie mając uprawnień administracyjnych. Często używamy jednocześnie wielu bibliotek. Niestety niektóre biblioteki potrafią się wzajemnie blokować, co powoduje nie lada problem.
Dość popularnym rozwiązaniem jest tworzenie w notatniku Jupyter połączeń środowiskowych, w których aktywowane są wybrane biblioteki.
W Anacona brakuje wielu popularnych bibliotek takich jak: Kreas, TensorFow, Pillow
Rozwiązania jest zainstalowanym pakietem conda-forge: https://conda-forge.org/ która zawiera sporo więcej bibliotek od tradycyjnej wersji Condy.
Niestety nawet w rozszerzonej wersji pakietu, nie ma wszystkich bibliotek na świecie, poza tym tak jak wspominałem biblioteki często się wzajemnie blokują. To ważny argumentem do tworzenia wyizolowanych środowisk dla poszczególnych projektów lub ćwiczeń. Praca w takich oddzielnych środowiskach ułatwia utrzymanie porządku i przejrzystości prac. Ponadto Jupyter notebook pokazuje arkusze pracy tylko ze środowiska, w którym został otwarty. W dalszej części pokażemy jak zainstalować biblioteki w Anaconda nie mając uprawnień administracyjnych w nowym, wyizolowanym środowisku.
LOKALIZACJA KATALOGU ANACONDA
Najpierw lokalizujemy, gdzie znajdują się pliki Anaconda
Wpisujemy w pasku poleceń CMD i w ten sposób wywołujemy konsolę poleceń Windows.
W konsoli poleceń wpisujemy: C:\>where anaconda
Wchodzimy do katalogu Anaconda3.
TWORZENIE PLIKU NOWEGO ŚRODOWISKA
Następnie tworzymy plik nowego środowiska: NewEnv1.yml
echo.> NewEnv1.yml
Wyświetlamy zawartość katalogu Anaconda3 i znajdujemy nowo założony plik NewEnv1.yml.
EDYTOWANIE PLIKU NOWEGO ŚRODOWISKA
Teraz musimy wprowadzić dane do plik: NewEnv1.yml
Robimy to w notatniku. Do notatnika wchodzimy przez następującą komendę: notepad NewEnv1.yml
Wpisujemy następującą zawartość:
name: NewEnv1.yml
dependencies:
- python=3.6
- jupyter
- ipython
- pandas
Nie zapomnij zapamiętać zmian w pliku tekstowego!
KOMPILACJA PLIKU NOWEGO ŚRODOWISKA
Dokonujemy kompilacji pliku: NewEnv1.yml
conda env create -f NewEnv1.yml
Rozpakowywane są biblioteki:
UTWORZONE NOWE ŚRODOWISKO ANACONDA
Mamy teraz dwa środowiska Anaconda: „base” oraz „NewEnv1”.
Zostało stworzone izolowane środowisko conda z bibliotekami.
Tworzenie oddzielnych środowisk jest zalecaną praktyką, ponieważ każdy projekt uczenia maszynowego wymaga różnych bibliotek.
Po zakończeniu projektu możliwe jest usunięcie pliku nowego środowiska z katalogu envs.
Aby sprawdzić jakie mamy dostępne środowiska: conda info --envs .
PRZEJŚCIE SIĘ NA NOWE ŚRODOWISKO ANACONDA
activate NewEnv1
Aby deaktywować nowe środowisko i wejść na stare środowisko wystarczy wpisać: activate base
SPRAWDZENIE KOMPLETNOŚCI NOWEGO ŚRODOWISKA
Sprawdzam gdzie są zainstalowane biblioteki Anaconda w nowym środowisku:
where python where jupyter where ipython
Widać, że najważniejsze elementy środowiska są na swoim miejscu.
INSTALOWANIE BIBLIOTEK W NOWYM ŚRODOWISKU
Teraz dowiemy się jak zainstalować biblioteki w Anaconda nie mając uprawnień administracyjnych.
Instaluje bibliotekę Keras w nowym środowisku NewEnv1: pip install Keras
Instaluje bibliotekę tensorflow w nowym środowisku NewEnv1: pip install tensorflow
Instaluje biblioteki do rozpoznawania obrazu imageai w nowym środowisku NewEnv1: pip install imageai
URUCHOMIENIE JUPYTER Z POZYCJI KONSOLI POLECEŃ
jupyter notebook
Jupiter zostaje otwarty wyłącznie w izolowany środowisku NewEnv1.
Zamknąć Jupytera można z pozycji konsoli przez Ctrl+C . Jądro Jupytera zostanie zamknięte mimo, że arkusze będą dalej otwarte.
BIBLIOTEKI ZAINSTALOWANE W NOWYM ŚRODOWISKU
Teraz możemy sprawdzić w notatniku Jupyter czy biblioteki zostały załadowane do nowego środowiska.
import tensorflow globals()['tensorflow']
Dowiedzieliśmy się jak utworzyć nowe, odizolowane środowiska pracy oraz jak w tych środowiskach zainstalować biblioteki w Anaconda nie mając uprawnień administracyjnych.
JAK ZAINSTALOWAĆ NOWĄ (RZADKĄ) BIBLIOTEKĘ W NOTATNIKU JUPITER NIE MAJĄC UPRAWNIEŃ?
Zdarza się, że biblioteka, którą chcemy zainstalować jest bardzo rzadka. W takiej sytuacji należy postępować w sposób następujący.
Chodzi o bibliotekę do rozpoznawania zdjęć napisaną przez nigeryjskiego informatyka Olafenwa Moses.
Biblioteka jest dostępna tutaj: https://pypi.org/project/imageai/#files
Ściągam ten plik i zapisuje w jakimś katalogu np. c: / 6. Instaluje bibliotekę z pliku c: / 6. Robię to w notatniku Jupyter.
import sys
!{sys.executable} -m pip install c:/6/imageai-2.1.3-py3-none-any.whl
Aby importować biblioteki do kodu trzeba zresetować jądro aktualizacji Jupyter.
Można zrobić to z konwertowaniem przez Ctrl + C.
Przydatne linki:
https://www.guru99.com/download-install-tensorflow.html
https://jakevdp.github.io/blog/2017/12/05/installing-python-packages-from-jupyter/















