naucse.python.cz icon indicating copy to clipboard operation
naucse.python.cz copied to clipboard

Vyhodit virtualenv?

Open messa opened this issue 8 years ago • 7 comments

Používat venv.

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

messa avatar Sep 19 '17 17:09 messa

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?

messa avatar Sep 24 '17 16:09 messa

Ubuntu?

hroncok avatar Sep 24 '17 16:09 hroncok

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

hroncok avatar Sep 24 '17 16:09 hroncok

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

messa avatar Sep 24 '17 16:09 messa

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.

hroncok avatar Sep 24 '17 16:09 hroncok

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

liskin avatar Nov 10 '19 23:11 liskin

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

messa avatar Nov 11 '19 09:11 messa