Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Python 3.3 venv

Ukazał się Python 3.3.0. Oprócz poprawek wydajności (np. do 80x szybszy moduł decimal) i ogólnych "porządków" jak np. reorganizacji hierarchii wyjątków OS i IO, pojawił się m.in. wbudowany moduł venv (Virtual Environments). Wirtualne środowiska Pythona nie są czymś nowym, ale po raz pierwszy są dostarczane "w standardzie". We wcześniejszych wersjach Pythona można doinstalować moduł virtualenv.

"Wirtualne środowiska" są odizolowane od głównej instalacji Pythona w systemie. Przydają się np. przy eksperymentowaniu z zewnętrznymi pakietami, umożliwiają bezproblemowe instalowanie i używanie różnych wersji bibliotek itd.

Utworzenie wirtualnego środowiska Pythona

Utworzenie wirtualnego środowiska Pythona w systemie Windows polega na uruchomieniu skryptu pyvenv.py wraz z podaniem nazwy nowo tworzonego środowiska. Skrypt pyvenv.py znajduje się w folderze C:\Python33\Tools\Scripts.

Utworzenie wirtualnego środowiska polega na utworzeniu folderu o wskazanej nazwie i następującej strukturze:

pyvenv.cfg Scripts/python.exe Scripts/python3.dll Scripts/pysetup3.exe Scripts/pysetup3-script.py ... other DLLs and pyds... Include/ Lib/site-packages/

Gotowe! Wirtualne środowisko zostało utworzone. Przejdźmy do folderu Scripts i wydajmy polecenie activate.

Instalowanie pakietów zewnętrznych

Jedną z najbardziej popularnych metod instalacji zewnętrznych bibliotek w Pythonie jest easy_install. Aby móc z niej korzystać należy zainstalować distribute.py. Do pobrania pliku skorzystam z wget, ale można to zrobić również klikając w link: http://python-distribute.org/distribute_setup.py.

Po pobraniu uruchamiamy skrypt (uwaga!!!) korzystając z Pythona zlokalizowanego w naszym wirtualnym środowisku.

Teraz możemy już instalować biblioteki za pomocą easy_install.

Działa!

 

programowanie

Komentarze

0 nowych
Demagog   4 #1 30.09.2012 20:39

Fajny patent. Dzięki.
A tak nawiasem dużo jest zmian względem wcześniejszych wersji?

iluzion   5 #2 30.09.2012 22:53

Nowości wymienione są na stronie What’s New In Python 3.3:

http://docs.python.org/py3k/whatsnew/3.3.html#what-s-new-in-python-3-3

Sądzę, że jest to najważniejsze wydanie od 3.0. Ze względu na wsparcie dla składni u'unicode' znanej z Pythona 2.x, przenoszenie programów do Pythona 3 powinno przebiegać sprawniej.

Pojawiło się kilka nowych modułów, m.in. lzma. Pliki __init__.py (najczęściej puste), służące do oznaczania pakietów już nie są wymagane. Pojawiło się nowe wyrażenie yield from.

Wprowadzono Python Launcher for Windows. W cmd wystarczy wpisać py, aby uruchomić Pythona. Można też uruchomić konkretną wersję zainstalowaną w systemie, np. py -2.6 lub py -3. Ale najlepsze jest rozpoznawanie wersji Pythona na podstawie wiersza shebang i uruchamianie skryptów lub programów we właściwej wersji. Dobrze to ilustruje ten screencast:

http://www.red-dove.com/screencasts/launcher/launcher.html

To te bardziej widoczne zmiany dla użytkownika, które zwróciły moją uwagę. Po bardziej techniczne sprawy odsyłam do źródła.

Co do zmian wpływających na niekompatybilność to sprawdzałem na razie jeden program, który ma ponad 2000 linii właściwego kodu (nie licząc kodu wygenerowanego przez Designera Qt) i działa bez wprowadzania zmian w stosunku do 3.2.3.

Szczegóły opisane są w dziale Porting to Python 3.3:

http://docs.python.org/py3k/whatsnew/3.3.html#porting-to-python-3-3

Autor edytował komentarz.
  #3 01.10.2012 16:14

Pytanie do iluzion: w liceum zaniedbywałem matamatykę, ale chciałbym teraz robić takie rzeczy jak Ty. Czy jestem w stanie to nadrobić ? Dodam tylko, że mój umysł jest całkiem sprawny, odnoszę sukcesy szachowe, gram na instrumentach itd

kwpolska   6 #4 01.10.2012 17:37

> Teraz możemy już instalować biblioteki za pomocą easy_install.

pip*

http://stackoverflow.com/questions/3220404/why-use-pip-over-easy-install

iluzion   5 #5 01.10.2012 18:00

@deniross

Pewnie. Nie pokazałem na tym blogu trudnych rzeczy. Niektóre wpisy poruszały zagadnienia matematyczne, ale w podstawowym zakresie. Nie jestem też informatykiem z wykształcenia. Wykorzystuję jedynie niektóre narzędzia z tej dziedziny. Np. w często pojawiającym się na blogu Pythonie możesz po kilku tygodniach nauki zacząć robić użyteczne rzeczy. Wystarczy tutorial, jakaś książka do poduszki, ćwiczenie na przykładach, przeglądanie kodu źródłowego innych programistów (nawet jeśli się go początkowo nie rozumie).

@kwpolska

Tak, ale żeby zainstalować pip należy wykonać easy_install pip ;) Nie chciałem już komplikować wpisu.

iluzion   5 #6 01.10.2012 18:45

Jest jeszcze jedna rzecz, o której warto wspomnieć. Python dla Windows został zbudowany w Visual Studio 2010 (wcześniejsze wersje były kompilowane w Visual Studio 2008). Ktoś może zapytać: Jak to 2010? Tuż po wydaniu 2012? Tak. VS 2012 wyszło nieco za późno, klamka zapadła. Poza tym zdaje się, że Visual Studio 2010 jest ostatnim, które wspiera Windows XP i Vista.

  #7 01.10.2012 19:08

Świetny ten Python Launcher. I podoba mi się to rozszerzenie dla generatorów.

deniross: Wiedza nie zależy od szkoły tylko od ciebie i twojej pracowitości.

  #8 02.10.2012 16:26

Wielkie dzięki za odpowiedzi.