pyvec / naucse.python.cz

Website with learning materials / Stránka s učebními materiály
https://naucse.python.cz
Other
321 stars 117 forks source link

Vyhodit virtualenv? #188

Open messa opened 6 years ago

messa commented 6 years ago

Používat venv.

Píšu to z kurzu Pyladies, pak toto upřesním.

messa commented 6 years ago

Tady: http://naucse.python.cz/2017/pyladies-praha-jaro/beginners/install/linux/

Jako ono je tam napsané, že pouze v případě, že nefunguje venv, ale není to tam napsané tak jasně, aby to studenti ve stresu při první hodině úspěšně interpretovali.

Existují vůbec ještě nějaké distribuce, kde v Pythonu 3 není venv?

hroncok commented 6 years ago

Ubuntu?

hroncok commented 6 years ago

Je to trochu komplikovanější. Možná by stačilo doporučit na ubuntu nainstalovat python3-venv: https://askubuntu.com/a/789418/523617

messa commented 6 years ago

Ano, instalace python3-venv je (podle mě) normální postup, stejně jako na Debianu. Přidal bych to k apt-get install python3.

hroncok commented 6 years ago

apt-get install python3 ale podle současného návodu v 99 % situací nepustíš, protože python3 už máš.

Co třeba (pseudojazyk):

Vytvoření virtuálního prostředí

...

vytvoříš pomocí python3 -m venv

Pokud to nic nevypíše, je to OK, pokud to napíše No module named venv, znamená to,že tvoje distribuce z instalace Pythonu z nějakého důvodu odebrala modul venv. Doinstaluj ho přes správce balíčků své distribuce:

Ubuntu a Debian:

apt-get install python3-venv

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

Potom by už příkaz měl fungovat, zkus to znovu.

liskin commented 4 years ago

Tohle je furt ještě dneska problém. Návod říká, že se má pustit python3 -m ensurepip --version a podle toho se rozhodnout, jestli instalovat virtualenv nebo používat venv. Jenže ensurepip např. na Debianu je pouze tehdy, když se nainstaluje balík python3-venv, a o tom v návodu není žádná zmínka, takže člověk snadno sklouzne k instalaci python-virtualenv, což je špatně hned ze tří důvodů:

messa commented 4 years ago

Pro úplnost, v Debianu je i balíček python3-virtualenv a příkaz /usr/bin/virtualenv je v balíčku virtualenv.