399 lines
8.6 KiB
Plaintext
399 lines
8.6 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Python- charakterystyka\n",
|
|
"\n",
|
|
"- język skryptowy ogólnego zastosowania\n",
|
|
"- wysokopoziomowy\n",
|
|
"- otwartoźródłowy\n",
|
|
"- działa na platformach Linux, MacOS, Windows\n",
|
|
"- obiektowy, ale wspiera też inne paradygmaty (np. funkcyjny)\n",
|
|
"- język dynamicznie typowany (x = 5 zamiast int x = 5)\n",
|
|
"- zarządzanie pamięcia poprzez garbage collector\n",
|
|
"- wcięcia (tabulacje lub spacje) zamiast nawiasów\n",
|
|
"- język interpretowany (zatem nie wymaga kompilacji)\n",
|
|
"- Obecnie używa się python w wersji 3, która nie jest kompatybilna z wersją 2. Python 2 nie jest dalej rozwijany\n",
|
|
"- Główną zaletą pythona jest czytelność kodu, co wynika z założenia że kod cześciej się czyta niż pisze. "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Zastosowania python\n",
|
|
"- najbardziej popularny język do analizy i wizualizacji danych obok R\n",
|
|
"- najbardziej popularny język do uczenia maszynowego, w szczególności sieci neuronowych. Posiada biblioteki TensorFlow (wraz z wbudowanym Keras), Pytorch, Jax\n",
|
|
"- inne zastosowania naukowe\n",
|
|
"- tworzenie stron internetowych (Django) oraz mikroserwisów (Flask, FastApi, Bottle, Django)\n",
|
|
"- skrypty, automayzacja, administracja serwerów"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Uruchamianie python\n",
|
|
"\n",
|
|
"- uruchamianie skryptu *.py wprost z wiersza poleceń\n",
|
|
"- uruchamianie python w trybie interaktywnym przez interpreterze python lub ipython\n",
|
|
"- uruchamianie skryptu + tryb interaktywny\n",
|
|
"- jupyter notebook, google colab\n",
|
|
"- IDE (np Pycharm, Microsoft Visual Studio)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Menadżery pakietów\n",
|
|
"- pip\n",
|
|
"- virtualenv\n",
|
|
"- conda"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/home/anaconda3/anaconda3/bin/python\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"!which python"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"### virtualenv"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!pip install virtualenv # instalacja"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!virtualenv myenv # tworzenie środowiska o nazwie myenv"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!source myenv/bin/activate # uruchamianie środowiska na linux"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!myenv\\Scripts\\activate # uruchamianie środowiska na linux na windows"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!which python"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!which pip"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!deactivate deaktywowanie środowiska"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!pip install requests # instalacja pakietów za pomocą python"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!rm -rf myenv # usuwanie środowiska"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/bin/bash: line 1: virtualenv: command not found\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"!virtualenv --help"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/bin/bash: line 1: virtualenv: command not found\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"!virtualenv --version"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### zadanie virtualenv\n",
|
|
"Proszę stworzyć środowisko o nazwie myscikitlearnenv, spróbować zaimportować sklearn:\n",
|
|
"\n",
|
|
"import sklearn # powinno się nie udać\n",
|
|
"\n",
|
|
"Następnie zainstalować w nim scikit-learn i ponownie spróbować zaimportować sklearn (tym razem powinno się udać)\n",
|
|
"\n",
|
|
"Następnie deaktywować środowisko i usunąć je."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## conda (anaconda, miniconda, miniforge)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# najpierw - instalacja anconda"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "raw",
|
|
"metadata": {},
|
|
"source": [
|
|
"! tail -n30 ~/.bashrc # conda uruchamia się w ~/.bashrc"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda create --name myenv # tworzenie nowego środowiska"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda create --name myenv python=3.9 # tworzenie nowego środowiska dla python w wersji 3.9"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda activate myenv # aktywowanie środowiska"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!which python"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda deactivate # deaktywowanie środowiska"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda env list # wylistowanie dostępnych środowisk"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda install requests # instalacja pakietu za pomocą conda"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda install nodejs # instalacja nodejs (coś zupełnie poza środowiskiem pythona)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!pip install requests # instalacja pakietu za pomocą pip\n",
|
|
"!pip install scikit-learn # instalacja pakietu za pomocą pip"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda env export > environment.yml # eksport środowiska"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda env create -f environment.yml # import środowiska"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda list # wylistowanie zainstalowanych pakietów"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda --help"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"!conda --version"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"!conda remove --name nazwa_srodowiska --all # usuwanie środowiska- albo wystarczy wprost usunąć pliki środowiska\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"#### zadanie conda\n",
|
|
"1. Proszę zrobić te same kroki jak w poprzednim zadaniu\n",
|
|
"2. Proszę zrobić to co w punkcie 1. tylko, że przed usunięciem środowiska zapisać je do environment.yml, a po usunięciu odtworzyć"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.11.7"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|