Powrót do: Podstawy Testów Automatycznych w Selenium i Python cz. 5 – Profesjonalna konfiguracja projektu
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 😉
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 lekcjiInstalacja 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
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
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
teraz po poprawieniu mam takie cos wiec chyba poszło??
(pythonProject) marzenag@MacBook-Air-van-Marzena pythonProject % ls
main.py
Wygląda, że działa 😉
Jako wynik na konsoli powinniśmy otrzymać wszystkie pliki i podkatalogi, które znajdują się w danym katalogu 🙂
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 %
Hej,
Wygląda ma to, że prawdopodobnie masz literówkę w swoim poleceniu – popraw je proszę na
ls
(pierwsza litera to małe L) i daj znać czy to pomogło 🙂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
Hej,
Na Mac OS spróbuj zamiast
dir
(bo to standardowe polecenie w systemie Windows) wykonać komendęls
🙂Daj prosze znać czy to pomogło 🙂
Przedstawiam kroki z poprzedniej i tej lekcji dla użytkowników maca:
which python3
– pokazuje lokalizację i wersję pythona 3.xcd .
– przechodzimy do projektowego folderupython3 -m venv myVenv
– tworzymy środowisko wirtualne w katalogu myVenvls
– ekwiwalentdir
w wind. – sprawdzamy jakie foldery się znajdują w folderze VenvTestssource myVenv/bin/activate
– aktywacja venvpip list
– lista zainstalowanych pakietówpip install selenium
– instalacja w venv seleniumdeactivate
– dezaktywacja venvaDzięki wielkie za podsumowanie! 🙂 Taka lista przyda się zdecydowanie innym osobom, które pracują na systemie Mac/Linux.
Mały tip dla użytkowników linuxa.
venv aktuwyjemy komendą:
cd myVenv/bin/
source activate
lub
source myVenv/bin/activate
Hej,
Bardzo dobry TIP 😀 Pozwolę sobie umieścić go w lekcji, aby był lepiej widoczny dla osób używających Linuxa 🙂
Dzięki wielkie, pozdrawiam!
moduł `venv` jest częścią biblioteki standardowej python’a od wersji 3.5
moduł `virtualenv` dostarcza polecenie `virtualenv` a nie `venv`
Hej,
Zgadza się,
venv
jest dostępny domyśle w Pythonie w wersji 3.5 i wyższych. Natomiast jeśli chodzi ovirtualenv
– faktycznie wkradła się tutaj nieścisłość, że modułvirtualenv
udostępniavirtualenv
.Dzięki wielkie za zgłoszenie – poprawimy 🙂
Pozdrawiam,