Skip to content

Commit 1fa09cf

Browse files
committed
Split off virtualenv creation and add instructions on directory structure
This normalizes the directory structure for the beginner course. It use one directory with all related files, containing: * numbered directories for individual lessons * a `venv` directory with the virtual environment. Hopefully, this will reduce chaos on the learners' hard disks.
1 parent deacebf commit 1fa09cf

File tree

12 files changed

+282
-310
lines changed

12 files changed

+282
-310
lines changed

courses/pyladies/info.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ plan:
1818
- lesson: beginners/cmdline
1919
- lesson: beginners/install
2020
- lesson: beginners/first-steps
21+
- lesson: beginners/venv-setup
2122
- lesson: beginners/install-editor
2223
- lesson: git/install
2324
- title: Tahák na klávesnici (PDF)

lessons/beginners/comparisons/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,9 @@ print(False)
9696
Teď oprášíme program na výpočet obvodu a obsahu.
9797

9898
Otevři si v editoru nový soubor.
99-
V adresáři, kde máš soubory ke kurzům Pythonu, udělej adresář s číslem lekce
100-
(třeba `02`).
101-
Nový soubor ulož do tohoto adresáře, pod jménem `if.py`.
99+
Jestli ještě v adresáři, kde máš soubory ke kurzům Pythonu,
100+
nemáš adresář pro tuto lekci (třeba `02`), vytvoř si ho.
101+
Nový soubor ulož do něj pod jménem `if.py`.
102102

103103
Do souboru pak napiš následující program:
104104

@@ -111,7 +111,7 @@ print('Obsah čtverce se stranou', strana, 'je', strana * strana, 'cm2')
111111
Co se stane, když jako stranu zadáš záporné číslo?
112112
Dává výstup smysl?
113113

114-
Tady je vidět, jak počítač dělá přesně, co se mu řekne, a nepřemýšlí o významu.
114+
Tady je vidět, jak počítač dělá přesně, co se mu řekne. Nepřemýšlí o významu.
115115
Bylo by dobré uživateli, který zadá záporné číslo,
116116
přímo říct, že zadal blbost. Jak na to?
117117

lessons/beginners/first-steps/index.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@ Zkontroluj si, že máš aktivované virtuální prostředí (na začátku pří
88
Je-li tomu tak, nezbývá než – konečně – pustit Python.
99
K tomu použij příkaz `python`:
1010

11-
``` plain
11+
``` console
1212
(venv)$ python
13-
Python 3.4.0 (default, Jan 26 2014, 18:15:05)
13+
Python 3.6.0 (default, Jan 26 2014, 18:15:05)
1414
[GCC 4.8.2 20131212 (Red Hat 4.8.2-7)] on linux
1515
Type "help", "copyright", "credits" or "license" for more information.
16-
>>>
1716
```
1817

1918
Příkaz vypíše několik informací.
2019
Z prvního řádku se můžeš ujistit, že používáš Python 3.
21-
Třemi „zobáčky“ `>>>` pak Python poprosí o instrukce.
20+
21+
Python pak třemi „zobáčky“ `>>>` poprosí o instrukce.
2222
Je to jako v příkazové řádce, ale místo příkazů jako
2323
`cd` a `mkdir` sem budeš psát příkazy Pythonu.
2424

lessons/beginners/hello-world/index.md

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -21,67 +21,63 @@ V něm vytvoř nový soubor, do kterého napiš následující text:
2121
print("Ahoj světe!")
2222
```
2323

24-
Pak soubor ulož pod jménem `ahoj.py`:
24+
Pak soubor ulož jako `ahoj.py`:
2525

2626
* V adresáři, kde máš soubory ke kurzům Pythonu, si založ adresář pojmenovaný
2727
podle čísla lekce (např. `02`).
2828
Měl by být vedle tvého virtuálního prostředí.
2929
* Do něj pak soubor ulož pod jménem `ahoj.py`.
3030

31-
Pokud máš v ukládacím okýnku možnost zvolit <em>kódování</em>, zvol <code>UTF-8</code>.
32-
Můžeš–li zvolit typ souboru, zvol <code>.py</code> nebo „všechny soubory“.
33-
34-
35-
Některé systémy a editory se snaží přípony jako <code>.py</code> schovávat
36-
nebo si doplňovat přípony vlastní. V příkazové řádce se ale vždycky ukáže
37-
opravdové jméno.
38-
Proto ještě v příkazové řádce pomocí `cd` přejdi do adresáře,
39-
kde máš soubory pro kurz Pythonu, pak přejdi do `cd 02`
40-
a pomocí `ls` (Unix) nebo `dir` (Windows) zkontroluj, že se soubor opravdu
41-
jmenuje `ahoj.py` a ne třeba `ahoj.py.txt`.
42-
43-
{# XXX: this duplicates the instructions below! #}
31+
Pokud máš v ukládacím okýnku možnost zvolit *kódování*, zvol `UTF-8`.
32+
Můžeš–li zvolit typ souboru, zvol `.py` nebo „všechny soubory“.
4433

4534
## Spuštění
4635

4736
Otevři si příkazovou řádku.
4837
Pomocí `cd` donaviguj do adresáře, kde máš soubory ke kurzům Pythonu.
38+
39+
> [note]
40+
> S příkazovou řádkou jsme se seznámil{{gnd('i', 'y', both='i')}}
41+
> [minulé lekci](../../beginners/cmdline/), která popisuje i změnu aktuálního
42+
> adresáře pomocí příkazu `cd`.
43+
4944
Aktivuj si virtuální prostředí.
5045

51-
Potom vlez do adresáře s programem (`cd 02`) a zadej tento příkaz:
46+
> [note]
47+
> Příkaz k tomu jsme si ukázali na konci
48+
> [návodu na tvorbu virtuálního prostředí](../venv-setup/); končí `activate`.
49+
50+
51+
Pak a zadej tento příkaz:
5252

5353
```console
5454
(venv)$ python ahoj.py
5555
```
5656

57-
> [note]
58-
> S příkazovou řádkou jsme se seznámil{{gnd('i', 'y', both='i')}}
59-
> [minulé lekci](../../beginners/cmdline/), která popisuje i změnu aktuálního
60-
> adresáře pomocí příkazu `cd`.
61-
> Aktivaci virtuálního prostředí jsme probral{{gnd('i', 'y', both='i')}} společně
62-
> [instalací Pythonu](../../beginners/install/).
63-
6457
> [note] Poznámka pro Windows a starší Python
6558
> V nečeských Windows s Pythonem 3.5 či nižším bude třeba před
6659
> programem spustit `chcp 1250`, jinak bude program píšící české
6760
> znaky končit chybou `UnicodeEncodeError`.
68-
> Je to trochu polovičaté řešení, ale pro naše příklady bude stačit.
6961
70-
Pokud se vypíše hláška, gratuluji!
62+
Pokud se vypíše hláška `Ahoj světe!`, gratuluji!
7163
Napsal{{a}} jsi svůj první program v Pythonu!
7264

7365
Jestli to nefunguje, zkontroluj, že:
7466

7567
* Máš zapnuté virtuální prostředí.
7668
(Na příkazové řádce se musí ukazovat <code>(venv)</code>;
7769
pokud tam není, použij příkaz „activate“ z [minula]({{ lesson_url('beginners/install') }}).)
78-
* Jsi ve správném adresáři. Zkus `pwd` (Unix) nebo `dir` (Windows).
70+
* Jsi ve správném adresáři. Zkus `pwd` (Unix) nebo `cd` (Windows).
7971
Aktuální adresář musí být ten, do kterého jsi uložil{{a}}
8072
soubor s programem.
73+
* Soubor se opravdu jmenuje `ahoj.py`.
74+
Pomocí `ls` (Unix) nebo `dir` (Windows) zkontroluj, že se soubor opravdu
75+
jmenuje `ahoj.py` a ne třeba `ahoj.py.txt`.
76+
Jestli ne, ulož ho znovu pod správným jménem.
8177
* Soubor `ahoj.py` obsahuje správný příkaz, včetně všech uvozovek a závorek.
82-
* Znak `$` nezadáváš – ten je tam proto, aby bylo poznat že jde o příkaz
83-
příkazové řádky.
84-
Na `$` (nebo, na Windows, `>`) končí dotaz, který vypíše počítač.
78+
* Slovo `(venv)` ani znak `$` nezadáváš – v materiálech jsou proto, aby bylo
79+
poznat že jde o příkaz příkazové řádky.
80+
Na `$` (nebo, na Windows, `>`) končí dotaz, který vypíše sám počítač.
8581
Příkaz, který zadáváš ty, je jen `python ahoj.py`.
8682

8783
A jestli to pořád nefunguje, zeptej se

lessons/beginners/install/index.md

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,9 @@
11
# Instalace Pythonu
22

3-
V této sekci uděláme dvě věci:
3+
V této sekci nainstalujeme Python.
44

5-
* Nainstalujeme Python a Virtualenv
6-
* Vytvoříme si virtuální prostředí pro práci v Pythonu
7-
8-
Možná se ptáš, proč je to všechno potřeba?
9-
10-
Python je jak programovací jazyk (způsob, jak říkat počítačům, co dělat),
11-
tak program, který potřebujeme, aby se s námi počítač tím jazykem domluvil.
12-
13-
Virtuální prostředí pak je něco, co zajistí, aby se všechny počítače chovaly
14-
zhruba stejně.
15-
Až ho zprovozníme, nebudeme potřebovat materiály zvlášť pro Linux, zvlášť pro
16-
Windows a zvlášť pro Mac.
17-
18-
> [note]
19-
> V budoucnu využijeme druhou výhodu: každé virtuální prostředí je oddělené od
20-
> ostatních, takže když doinstalujeme nějakou knihovnu (rozšíření pro Python),
21-
> projeví se to jen v jednom virtuálním prostředí.
22-
> Pokud by se při práci na projektu něco pokazilo, neohrozí to další projekty
23-
> ve tvém počítači.
24-
25-
Instalace samotná je na každém počítači jiná.
26-
Vyber si stránku podle svého operačního systému:
5+
To se na každém druhu operačního systému dělá trošku jinak.
6+
Vyber si stránku podle svého systému:
277

288
* [Linux]({{ subpage_url('linux') }})
299
* [Windows]({{ subpage_url('windows') }})

lessons/beginners/install/linux.md

Lines changed: 11 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,20 @@ Objeví-li se `bash: python3: command not found` nebo podobná chyba,
2929
doinstaluj Python.
3030
Konkrétní příkaz záleží na distribuci:
3131

32-
* Fedora:
32+
* **Fedora**:
3333
{% filter markdown(inline=True) %}
3434
```console
3535
$ sudo dnf install python3
3636
```
3737
{% endfilter %}
38-
* Ubuntu:
38+
* **Ubuntu**:
3939
{% filter markdown(inline=True) %}
4040
```console
4141
$ sudo apt-get install python3
4242
```
4343
{% endfilter %}
4444

45-
Používáš-li jinou distribuci, předpokládám, že instalovat programy už umíš. :)
45+
Používáš-li jinou distribuci, doufám, že instalovat programy už umíš.
4646

4747

4848
{{ anchor('check-tkinter') }}
@@ -63,7 +63,7 @@ Zavři ho a přejdi na [doinstalování `virtualenv`](#install-virtualenv).
6363

6464
Jestli ne, modul `tkinter` ještě nainstaluj:
6565

66-
* Fedora:
66+
* **Fedora**:
6767
{% filter markdown(inline=True) %}
6868
```console
6969
$ sudo dnf install python3-tkinter
@@ -93,99 +93,21 @@ $ python3 -m ensurepip --version
9393
```
9494

9595
Objeví-li se výpis začínající „pip“, máš funkční `venv` nainstalovaný.
96-
Přejdi na sekci [vytvoření virtuálního prostředí](#setup-venv).
96+
Zbytek této sekce můžeš přeskočit!
9797

98-
Objeví-li se nápis `No module named ensurepip`, je potřeba doinstalovat
99-
alternativu, Virtualenv.
100-
Zapamatuj si, že Virtualenv budeš muset v dalším kroku použít,
101-
a nainstaluj ho:
98+
Objeví-li se ale nápis `No module named ensurepip`, je potřeba doinstalovat
99+
alternativu, Virtualenv:
102100

103101
<!-- na Fedoře se tohle nestává -->
104102

105-
* Ubuntu:
103+
* **Ubuntu**:
106104
{% filter markdown(inline=True) %}
107105
```console
108106
$ sudo apt-get install python-virtualenv
109107
```
110108
{% endfilter %}
111109

112-
Používáš-li jinou distribuci, předpokládám, že instalovat programy už umíš. :)
113-
114-
115-
{{ anchor('setup-venv') }}
116-
## Vytvoření virtuálního prostředí
117-
118-
<!-- Pozn. Tahle sekce je velice podobná pro Linux, Mac i Windows;
119-
měníš-li ji, koukni se jestli není změna potřeba i jinde. -->
120-
121-
{%- if var('pyladies') -%}
122-
{% set rootname = 'pyladies' %}
123-
{%- else -%}
124-
{% set rootname = 'naucse-python' %}
125-
{%- endif -%}
126-
127-
Nakonec vytvoř virtuální prostředí.
128-
129-
Zvol si adresář (složku), ve které budeš mít soubory ke kurzům Pythonu.
130-
Může to být třeba <code>/home/<i>jméno</i>/{{ rootname }}</code>,
131-
neboli ~/{{ rootname }}.
132-
Adresář vytvoř a poznamenej si, kde je.
133-
134-
Zvolený adresář po vytvoření nesmíš přesouvat jinam – když to uděláš,
135-
přestane virtuální prostředí fungovat.
136-
Proto ho nedoporučuji vytářet na Ploše.
137-
138-
> [note]
139-
> Kdybys někdy chtěl{{a}} adresář přece jen přesunout,
140-
> musel{{a}} bys smazat virtuální prostředí a vytvořit nové.
141-
142-
Teď když je tenhle adresář vytvořený, otevři příkazovou řádku
143-
a příkazem `cd` se do něj přepni:
144-
145-
```console
146-
$ cd ~/{{ rootname }}
147-
```
148-
149-
Pak virtuální prostředí vytvoř.
150-
Pokud jsi v přeskočil{{a}} instalaci Virtualenv, zadej:
151-
152-
```console
153-
$ python3 -m venv venv
154-
```
155-
156-
jinak:
157-
158-
```console
159-
$ virtualenv -p python3 venv
160-
```
161-
162-
Tím se ti vytvořil adresář `~/{{ rootname }}/venv`,
163-
ve kterém jsou soubory s virtuálním prostředím.
164-
Můžeš se podívat dovnitř, ale nikdy tam nic neměň.
165-
166-
167-
## Aktivace virtuálního prostředí
168-
169-
Nakonec virtuální prostředí aktivuj.
170-
Přejdi do adresáře, kde máš soubory ke kurzům Pythonu (`~/{{ rootname}}`),
171-
a zadej:
172-
173-
``` console
174-
$ source venv/bin/activate
175-
```
176-
177-
Po spuštění tohoto příkazu by se měla na začátku příkazové řádky
178-
(před `$`) objevit poznámka `(venv)`.
179-
Tak poznáš, že je virtuální prostředí *aktivní*.
180-
181-
Tenhle příkaz si zapiš. Budeš ho muset zadat vždycky, když pustíš příkazovou řádku,
182-
než se pustíš do programování.
183-
184-
{% if var('pyladies') %}
185-
Máš-li vytištěné <a href="http://pyladies.cz/v1/s001-install/handout/handout.pdf">domácí projekty</a>,
186-
příkaz si poznač, ať ho do příště nezapomeneš :)
187-
{% endif %}
110+
Používáš-li jinou distribuci, doufám, že instalovat programy už umíš.
188111

189-
Python máš, můžeš se pustit do programování!
190-
To už bude stejné pro tebe i pro lidi na Linuxu a Windows.
191-
Sejdeme se na [další stránce]({{ lesson_url('beginners/first-steps') }}), kde uděláme první krůčky s Pythonem.
112+
Instaluješ-li Virtualenv, **zapamatuj si**, že ho budeš muset použít později
113+
při vytváření virtuálního prostředí.

0 commit comments

Comments
 (0)