Nasz pierwszy venv – podejście konsolowe

Na początku przygotujmy sobie miejsce na dysku, w którym umieścimy nasze środowisko wirtualne. Zazwyczaj umieszczamy je w katalogu głównym naszego projektu. Przygotujmy sobie w takim razie nowy projekt (czyli katalog) o nazwie VenvTests:

C:
+-- Projects
|   +-- VenvTests
|   ...
...

Tworzymy venv

Na pierwszy ogień pójdzie tworzenie venv przy użyciu samej konsoli. Jest to podejście trudniejsze, wymagające podstaw ze znajomości konsoli (której podstawy poruszaliśmy w lekcji Konsola – ale już nie pythonowa), ale pozwoli to na odnalezienie się w przypadku, gdy nie będziemy mieli dostępu do IDE PyCharm 😉

UWAGA: moduł venv, która udostępnia polecenie venv, jest domyślnie dostępny w Python 3. Jeśli używasz wcześniejszej wersji Pythona, to musisz zainstalować moduł virtualenv (który udostępnia polecenie virtualenv) za pomocą narzędzia PIP (omawialiśmy je szerzej w lekcji
Instalacja pakietów przez PIP lub najprościej zainstalować najnowszego Pythona):

pip install virtualenv

Po instalacji modułu virtualenv możesz stworzyć wirtualne środowisko za pomocą polecenia:

python -m virtualenv myVenv
UWAGA: Na Ubuntu przed utworzeniem venv (za pomocą polecenia python -m virtualenv myVenv) należy jeszcze zainstalować poniższy pakiet:

sudo apt install python3.8-venv

W przeciwnym razie podczas próby instalacji pip install virtualenv dostaniemy taką informację:

The virtual environment was not created successfully because ensurepip is not available.  On Debian/Ubuntu systems, you need to install the python3-venv package

Następnie otwórzmy konsolę systemową i przejdźmy do utworzonego katalogu VenvTests. Tak powinien wyglądać stan w konsoli:

C:\Projects\VenvTests>

Wykorzystajmy teraz pythonowy moduł venv, która utworzy nam środowisko wirtualne w katalogu myVenv (wykonanie poniższego polecenia chwilę zajmuje, więc cierpliwie czekaj na wynik):

python -m venv myVenv

Po chwili na konsoli powinien znowu pojawić się nasz kursor, ale bez żadnych informacji czy operacja się udała… Możemy to łatwo sprawdzić zaglądając do katalogu VenvTests, w którym powinien pojawić się katalog myVenv (na przykład poprzez wykonanie polecenia dir w konsoli):

C:
+-- Projects
|   +-- VenvTests
|      +-- myVenv
|   ...
...

Aktywacja venv

Teraz możemy aktywować środowisko za pomocą komendy:

myVenv\Scripts\activate
TIP: Jeśli korzystasz z systemu Linux, to aby aktywować wirtualne środowisko musisz skorzystać z dwóch komend:

cd myVenv/bin/
source activate

Lub w wersji skróconej – z jednej:

source myVenv/bin/activate

Po jej wykonaniu powinna nam się ukazać informacja o aktywnym środowisku:

(myVenv) C:\Projects\VenvTests>

Po wykonaniu komendy pip list powinna ukazać się nam niewielka lista zainstalowanych pakietów:

(myVenv) C:\Projects\VenvTests>pip list
Package    Version
---------- -------
pip        10.0.1
setuptools 39.0.1

W tym momencie, w konsoli z aktywnym środowiskiem venv, wszystkie operacje i komendy, jakie będziemy wykonywać, dotyczyć będą tego środowiska. Wszystkie komendy, takie jak python czy pip, będą odnosiły się do Pythona zawartego w stworzonym przez nas środowisku wirtualnym.

Pamiętaj, dotyczy to danej konsoli, gdzie mamy aktywne środowisko, czyli tak jak w przypadku powyżej gdzie przed ścieżką do projektu widzimy informacje o nazwie środowiska (myVenv). Wszystkie inne okna konsoli i aplikacje będą nadal korzystały z Pythona zainstalowanego w systemie.

Instalacja pakietów w venv

Możemy teraz zainstalować pakiet selenium:

(myVenv) C:\Projects\VenvTests>pip install selenium

Po zakończeniu instalacji nasze wirtualne środowisko wzbogaciło się o pożądany pakiet:

(myVenv) C:\Projects\VenvTests>python -m pip list
Package    Version
---------- -------
pip        10.0.1
selenium   3.14.1
setuptools 39.0.1
urllib3    1.24

Jak widzisz, teraz możemy postępować z naszym środowiskiem dokładnie w ten sam sposób jak z normalnie zainstalowanym Pythonem.

Dezaktywacja venv

Aby dezaktywować środowisko wirtualne wystarczy użyć komendy:

deactivate

12 komentarzy

  1. po wpisaniu komędy 1s wyskoczyło mi cos takiego

    (pythonProject) marzenag@MacBook-Air-van-Marzena pythonProject % 1s
    zsh: command not found: 1s
    (pythonProject) marzenag@MacBook-Air-van-Marzena pythonProject % python 1s
    /Library/Frameworks/Python.framework/Versions/3.13/Resources/Python.app/Contents/MacOS/Python: can’t open file ‘/Users/marzenag/PycharmProjects/pythonProject/1s’: [Errno 2] No such file or directory
    (pythonProject) marzenag@MacBook-Air-van-Marzena pythonProject %

    Avatar mg
  2. witam
    mam problem podczas otarcia terminalu python 3.13 ma Mac iOS m3
    tereminal nie łączy mi się z z { local )
    wpisując komendę dir mam taki komunikat
    zsh: command not found: dir
    (.venv) marzenag@MacBook-Air-van-Marzena pythonProject %
    nie wiem co jest
    proszę o pomoc

    Avatar mg
  3. Przedstawiam kroki z poprzedniej i tej lekcji dla użytkowników maca:

    1. which python3 – pokazuje lokalizację i wersję pythona 3.x
    2. cd .– przechodzimy do projektowego folderu
    3. python3 -m venv myVenv – tworzymy środowisko wirtualne w katalogu myVenv
    4. ls – ekwiwalent dir w wind. – sprawdzamy jakie foldery się znajdują w folderze VenvTests
    5. source myVenv/bin/activate – aktywacja venv
    6. pip list – lista zainstalowanych pakietów
    7. pip install selenium – instalacja w venv selenium
    8. deactivate – dezaktywacja venva
    Avatar Jakub Lew
    1. Hej,
      Zgadza się, venv jest dostępny domyśle w Pythonie w wersji 3.5 i wyższych. Natomiast jeśli chodzi o virtualenv – faktycznie wkradła się tutaj nieścisłość, że moduł virtualenv udostępnia virtualenv.
      Dzięki wielkie za zgłoszenie – poprawimy 🙂
      Pozdrawiam,

      Krzysiek Kijas Krzysiek Kijas

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *