Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - tdulik

Stran: [1]
1
Windows a jiné systémy / Re:Cython ve Windows
« kdy: 04. 09. 2022, 16:34:20 »
uetoyo: díky. Pochopil jsem z toho, že pro Python 3.10 potřebuji překladač Visual C++ verzi 14.x, a že jej najdu v Build tools. Na stránkách MS jsem se zaregistroval do nějakého Visual Studio subscriptions. Tam se nabízí ke stažení Visual Studio 2022, 2019 a 2017.

"cython for Windows" se standardní Windows-verzí Python-u (tou, která je kompilovaná MSVC) - z toho popisu výše cítím potenciální "dependency hell". Vývoj v cython-u pod Windows s MSVC je možná docela exotická specialita, zatímco cython pod msys2 nabízí mainstreamové řešení s posledními stable verzemi všech balíčků - stejné, jako máte v Linuxu.

Poznámka lehce mimo téma: zjistil jsem, že na mém Windows PC mám Python 3.8, který je součástí instalace Inkscape, a ten je taky zkompilovaný pomocí GCC (takže nějakou verzí mingw). Asi se vývojáři Inkscape též nechtěli trápit s MSVC "specialitami" :-)

Jinak ovšem ze standardní windows command line můžu spustit i Python z distribuce msys2, takto:

Kód: [Vybrat]
c:\>set PATH=c:\msys64\mingw64\bin\
c:\>python
Python 3.10.6 (main, Aug 12 2022, 18:00:29)  [GCC 12.1.0 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

2
Windows a jiné systémy / Re:Cython ve Windows
« kdy: 04. 09. 2022, 09:10:05 »
No, Cython je transkompiler do jazyka C, takže předpokládám, že hlavně potřebuji ekvivalent linuxového

Kód: [Vybrat]
sudo apt-get update
sudo apt-get install build-essential

Kromě možnosti "instalace překladače MSVC" jsou ještě další 2 možnosti:
  • cygwin
  • msys2

Pokud chcete svoje programy, přeložené v cython-u, distribuovat na jiná PC, možnost "cygwin" je komplikovanější, protože exe soubory přeložené pod cygwin vyžadují přítomnost funkční cygwin instalace.
V takovém případě je lepší volbou msys2: je to vlastně "build-essential" s windows verzí C překladače, tj. např. mingw32 nebo mingw64. Oproti různým dalším distribucím projektu mingw, které obsahují pouze gcc + C/C++ knihovny, obsahuje msys2 - podobně jako cygwin - spoustu dalších překladačů vč. python a cython, a také balíčkovací systém pacman.  Narozdíl od cygwin-u, msys2 cílí na to, aby exe soubory přeložené v msys2 šlo distribuovat na další PC bez nutnosti instalace celého msys2 na to další PC.

Zkusil jsem teď do svého msys2 doinstalovat cython:
Kód: [Vybrat]
pacman -S cythonTím se mi nainstalovala poslední stable verze 0.29.32.
Zkusil jsem v tom spustit tutorial https://riptutorial.com/cython/example/14478/hello-world - vše funguje.
Výsledkem je adresář build a soubory: 
hello.c 
hello.cpython-310-x86_64-msys.dll

Jestli se to dá spustit na jiném PC a jak toho dosáhnout jsem nezkoušel - nejsem v pythonu zběhlý, jen hádám, že by to chtělo ještě něco jako py2exe (???) pro zajištění binární kompatibility interpretru pythonu (na tom dalším PC) s DLL "hello.cpython-310-x86_64-msys.dll", které vyrobil cython  (?)

Stran: [1]