Python: Różnice pomiędzy wersjami
(aktualizacja) |
|||
Linia 3: | Linia 3: | ||
=== Dostępne wersje === | === Dostępne wersje === | ||
− | Domyślną | + | Domyślną wersją języka ''Python'' na serwerach MyDevil jest wersja 2.7.14 - wywołanie polecenia <code>python</code> uruchomi interaktywny interpreter języka właśnie w tej wersji. Oprócz tego dostępne są również polecenia <code>python2.7</code>, <code>python3.4</code>, <code>python3.5</code> oraz <code>python3.6</code>, służące do uruchamiania interpretera w wersjach: domyślnej (2.7.14), 3.4.7, 3.5.4 oraz 3.6.3. |
=== Virtualenv === | === 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 | + | ''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]]. | Przed przystąpieniem do instalacji należy włączyć możliwość korzystania z własnego oprogramowania - [[Binexec]]. | ||
− | {{Notice|1=W tym poradniku utworzono i wykorzystano katalog <code class="directory">/usr/home/''login''/.virtualenvs</code> do zgromadzenia wszystkich utworzonych przez użytkownika wirtualnych środowisk. Nowy katalog można | + | {{Notice|1=W tym poradniku utworzono i wykorzystano katalog <code class="directory">/usr/home/''login''/.virtualenvs</code> do zgromadzenia wszystkich utworzonych przez użytkownika wirtualnych środowisk. Nowy katalog można utworzyć za pomocą polecenia <code>mkdir /usr/home/''login''/.virtualenvs</code>.}} |
==== Tworzenie wirtualnego środowiska ==== | ==== Tworzenie wirtualnego środowiska ==== | ||
− | Wirtualne środowisko można utworzyć wykonując w wybranym katalogu polecenie <code>virtualenv</code> podając | + | Wirtualne środowisko można utworzyć wykonując w wybranym katalogu polecenie <code>virtualenv</code> podając nazwę środowiska jako parametr: |
{{ prompt }}cd /usr/home/''login''/.virtualenvs | {{ prompt }}cd /usr/home/''login''/.virtualenvs | ||
Linia 23: | Linia 23: | ||
Installing setuptools, pip...done.{{ endoutput }} | Installing setuptools, pip...done.{{ endoutput }} | ||
− | Takie wywołanie polecenia tworzy nowe środowisko wirtualne wykorzystując domyślną | + | Takie wywołanie polecenia tworzy nowe środowisko wirtualne wykorzystując domyślną systemową wersję pythona. 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 | ||
Linia 36: | Linia 36: | ||
==== Aktywacja wirtualnego środowiska ==== | ==== Aktywacja wirtualnego środowiska ==== | ||
− | Do uruchomienia skryptu za pomocą interpretera wystarczy | + | Do uruchomienia skryptu za pomocą interpretera wystarczy podać ścieżkę do nowego pliku wykonywalnego <code>python</code> (<code class="directory">/usr/home/''login''/.virtualenvs/''nazwa_środowiska''/bin/python</code>), jednak w celu ułatwienia korzystania z ''virtualenv'', utworzony został skrypt <code class="directory">bin/activate</code>, którego załadowanie zmodyfikuje środowisko użytkownika w taki sposób, by ułatwić korzystanie z nowego środowiska. |
{{ prompt }}source /usr/home/''login''/.virtualenvs/''nazwa_środowiska''/bin/activate | {{ prompt }}source /usr/home/''login''/.virtualenvs/''nazwa_środowiska''/bin/activate | ||
<span class="output">(''nazwa_środowiska'')</span> {{ prompt }} | <span class="output">(''nazwa_środowiska'')</span> {{ prompt }} | ||
− | Po załadowaniu skryptu aktywacyjnego widać, że zmienił | + | 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 <code>python</code>, <code>pip</code> oraz <code>easy_install</code> będą wykonywane korzystając aktualnie wybranego środowiska wirtualnego. |
− | + | Opuścić dane środowisko można wydając polecenie <code>deactivate</code>. | |
==== Strona WWW ==== | ==== Strona WWW ==== |
Wersja z 01:23, 13 gru 2017
Python to język programowania wysokiego poziomu. Na serwerach MyDevil.net możliwe jest uruchamianie stron i aplikacji opartych o ten język.
Spis treści
Dostępne wersje
Domyślną wersją języka Python na serwerach MyDevil jest wersja 2.7.14 - 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.4
, python3.5
oraz python3.6
, służące do uruchamiania interpretera w wersjach: domyślnej (2.7.14), 3.4.7, 3.5.4 oraz 3.6.3.
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.
W tym poradniku utworzono i wykorzystano katalog /usr/home/login/.virtualenvs
do zgromadzenia wszystkich utworzonych przez użytkownika wirtualnych środowisk. Nowy katalog można utworzyć za pomocą polecenia mkdir /usr/home/login/.virtualenvs
.
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. 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
.
Strona WWW
Przy dodawaniu strony WWW typu python należy wskazać plik wykonywalny /usr/home/login/.virtualenvs/nazwa_środowiska/bin/python
, aby środowisko virtualenv było używane do obsługi strony.
Zmienne
Ustawianie zmiennej z poziomu SSH z widocznością dla aplikacji uruchamianej przez Passengera:
- Dopisanie zmiennych do ~/.bash_profile (np. export TESTENV=1).
- Ważne: zmienne nie działają z ~/.bashrc i ~/.shrc
Rozwiązywanie problemów
Niektóre pakiety 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"
W przypadku przkraczania limitu procesów systemowych przy instalacji pakietów poprzez pip należy wydać polecenia:
export MAX_CONCURRENCY=1 export CPUCOUNT=1