Python: Różnice pomiędzy wersjami

(Virtualenv)
(Virtualenv)
Linia 18: Linia 18:
  
 
  {{ prompt }}cd /usr/home/''login''/.virtualenvs
 
  {{ prompt }}cd /usr/home/''login''/.virtualenvs
  {{ prompt }}virtualenv my-virtualenv
+
  {{ prompt }}virtualenv ''nazwa_środowiska''
  {{ output }}New python executable in my-virtualenv/bin/python2.7
+
  {{ output }}New python executable in ''nazwa_środowiska''/bin/python2.7
  Also creating executable in my-virtualenv/bin/python
+
  Also creating executable in ''nazwa_środowiska''/bin/python
 
  Installing setuptools, pip...done.{{ endoutput }}
 
  Installing setuptools, pip...done.{{ endoutput }}
  
Takie wywołanie polecnia tworzy nowe środowisko wirtualne wykorzystując domyślną systemową wersję pythona, tj. 2.7.9. Za pomocą flagi <code>-p</code> można wskazać inny plik wykonywalny, co w konsekwencji tworzy środowisko wirtualne używając innej wersji języka ''Python'':  
+
Takie wywołanie polecenia tworzy nowe środowisko wirtualne wykorzystując domyślną systemową wersję pythona, tj. 2.7.9. Za pomocą flagi <code>-p</code> można wskazać inny plik wykonywalny, co w konsekwencji tworzy środowisko wirtualne używając innej wersji języka ''Python'':  
  
 
  {{ prompt }}cd /usr/home/''login''/.virtualenvs
 
  {{ prompt }}cd /usr/home/''login''/.virtualenvs
  {{ prompt }}virtualenv -p my-virtualenv /usr/local/bin/python3.4
+
  {{ prompt }}virtualenv ''nazwa_środowiska'' -p /usr/local/bin/python3.4
 
  {{output}}Running virtualenv with interpreter /usr/local/bin/python3.4
 
  {{output}}Running virtualenv with interpreter /usr/local/bin/python3.4
 
  Using base prefix '/usr/local'
 
  Using base prefix '/usr/local'
  New python executable in my-venv-3.4/bin/python3.4
+
  New python executable in ''nazwa_środowiska''/bin/python3.4
  Also creating executable in my-venv-3.4/bin/python
+
  Also creating executable in ''nazwa_środowiska''/bin/python
 
  Installing setuptools, pip...done.{{endoutput}}
 
  Installing setuptools, pip...done.{{endoutput}}
  

Wersja z 13:04, 25 maj 2015

Python to język programowania wysokiego poziomu. Na serwerach MyDevil.net możliwe jest uruchamianie stron i aplikacji opartych o ten język.

Dostępne wersje

Domyślną wersją języka Python na serwerach MyDevil jest wersja 2.7.8 - wywołanie polecenia python uruchomi interaktywny interpreter języka właśnie w tej wersji. Oprócz tego dostępne są również polecenia python2.7, python3.2, python3.3 oraz python3.4, służące do uruchamiania interpretera w wersjach: domyślnej (2.7.8), 3.2.5, 3.3.5, oraz 3.4.1.

Virtualenv

Virtualenv to narzędzie służące do tworzenia izolowanych środowisk języka Python. Używanie Virtualenv rozwiązuje podstawowy problem związany z różnymi wersjami dodatkowych bibliotek języka oraz uprawnień - wirtualne środowiska są tworzone całkowicie w katalogu domowym użytkownika, co (razem z dostarczonymi przez virtualenv w standardzie narzędziami) pozwala na pełne, samodzielne zarządzanie zainstalowanymi modułami.

Przed przystąpieniem do instalacji należy włączyć możliwość korzystania z własnego oprogramowania - Binexec.

Tworzenie wirtualnego środowiska

Wirtualne środowisko można utworzyć wykonując w wybranym katalogu polecenie virtualenv podając nazwę środowiska jako parametr:

cd /usr/home/login/.virtualenvs
virtualenv nazwa_środowiska
New python executable in nazwa_środowiska/bin/python2.7
Also creating executable in nazwa_środowiska/bin/python
Installing setuptools, pip...done.

Takie wywołanie polecenia tworzy nowe środowisko wirtualne wykorzystując domyślną systemową wersję pythona, tj. 2.7.9. Za pomocą flagi -p można wskazać inny plik wykonywalny, co w konsekwencji tworzy środowisko wirtualne używając innej wersji języka Python:

cd /usr/home/login/.virtualenvs
virtualenv nazwa_środowiska -p /usr/local/bin/python3.4
Running virtualenv with interpreter /usr/local/bin/python3.4
Using base prefix '/usr/local'
New python executable in nazwa_środowiska/bin/python3.4
Also creating executable in nazwa_środowiska/bin/python
Installing setuptools, pip...done.


Aktywacja wirtualnego środowiska

Do uruchomienia skryptu za pomocą interpretera wystarczy podać ścieżkę do nowego pliku wykonywalnego python (/usr/home/login/.virtualenvs/nazwa_środowiska/bin/python), jednak w celu ułatwienia korzystania z virtualenv, utworzony został skrypt bin/activate, którego załadowanie zmodyfikuje środowisko użytkownika w taki sposób, by ułatwić korzystanie z nowego środowiska.

source /usr/home/login/.virtualenvs/nazwa_środowiska/bin/activate
(nazwa_środowiska) 

Po załadowaniu skryptu aktywacyjnego widać, że zmienił się znak zachęty. Na początku została podana nazwa wirtualnego środowiska, w którym użytkownik aktualnie się znajduje. W tym stanie nie trzeba podawać pełnej ścieżki do interpretera, polecenia python, pip oraz easy_install będą wykonywane korzystając aktualnie wybranego środowiska wirtualnego.

Opuścić dane środowisko można wydając polecenie deactivate.

Rozwiązywanie problemów

Niektóre pakiety (np. Pillow) instalowane przez pip wymagają dodatkowych zmiennych, aby kompilacja przebiegła pomyślnie. Przed uruchomieniem pip install pakiet należy wykonać:

export CFLAGS="-I/usr/local/include"
export CXXFLAGS="-I/usr/local/include"
export MAX_CONCURRENCY=1

Odnośniki zewnętrzne