Nedávno jsem si tedy nainstaloval WSL z Windows Store a teď mám nějaké problémy s pythonem.
Python a některé jeho knihovny už mám nainstalovaný ve Windows 10, ale kdykoli napíšu py
v terminálu Ubuntu tomu nerozumí, rozumí pouze, když napíšu „python3“. Existuje způsob, jak přidat py
příkaz pro aktivaci pythonu?
Také v interaktivním režimu ($python3 -i
), kdykoli se pokusím import
jakákoli knihovna (tj. numpy) vyvolá chybu (ModuleNotFoundError: No module named 'numpy'
), když už mám na svém Windows nainstalovaný numpy.
Jako by se WSL chovalo, jako by ani nevidělo python a jeho knihovny nainstalované v mých oknech!
obrázek mého problému s WSL
Přijatá odpověď:
Jak je vysvětleno v části Windows Subsystem for Linux interoperability with Windows, jsou některé podmínky, které je třeba splnit, aby bylo možné spouštět programy Windows z příkazového řádku WSL:
Spouštějte nástroje Windows z WSL
WSL může vyvolat binární soubory Windows přímo z příkazového řádku WSL
pomocí [binary name].exe. Například notepad.exe. Aby byly spustitelné
spustitelné soubory Windows snazší, je cesta k Windows zahrnuta v $PATH
Linuxu v aktualizaci Fall Creators Update.
Některé nepodstatné věci byly vynechány
Binární soubory Windows musí obsahovat příponu souboru, musí odpovídat velikosti souboru
a musí být spustitelné. Nespustitelné soubory včetně dávkových skriptů. Příkazy CMD native
jako dir lze spouštět pomocí příkazu cmd.exe /C.
Pokud je tedy vaše verze python3 pro Windows běžným spustitelným souborem, měli byste být schopni jej spustit jako
python3.exe
V opačném případě (zřejmě to zahrnuje verzi python3 nainstalovanou do WindowsApps z obchodu Microsoft) budete muset použít
cmd.exe /C python3.exe