Vyhodit virtualenv?
Používat venv.
Píšu to z kurzu Pyladies, pak toto upřesním.
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?
Ubuntu?
Je to trochu komplikovanější. Možná by stačilo doporučit na ubuntu nainstalovat python3-venv: https://askubuntu.com/a/789418/523617
Ano, instalace python3-venv je (podle mě) normální postup, stejně jako na Debianu. Přidal bych to k apt-get install python3.
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.
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ů:
- není to
venv - je to pro Python 2.7
- na Debianu to nainstaluje jenom modul
virtualenv, ale už ne příkaz/usr/bin/virtualenv
Pro úplnost, v Debianu je i balíček python3-virtualenv a příkaz /usr/bin/virtualenv je v balíčku virtualenv.