sudo apt-get update
sudo apt-get install build-essentialNo, Cython je transkompiler do jazyka C, takže předpokládám, že hlavně potřebuji ekvivalent linuxovéhoKód: [Vybrat]sudo apt-get update
sudo apt-get install build-essential
Ale já naposledy ve windows, či spíše ještě v DOSu, programoval v djgpp a používal ide Rhide. To pro mě vlastně byla přestupní stanice na Linux. Dnes už to nikdo nebude znát, leda z vyprávění starců nad ohněm. Takže tohle bych potřeboval polopatisticky. Díky.
PYTHON=python
CYTHON=cython
COMPILER=gcc
LINKER=gcc
CFLAGS=-O9
INCLUDE_DIR:=$(shell $(PYTHON) -c "from distutils import sysconfig; print(sysconfig.get_python_inc())")
LIBRARY_DIR:=$(shell $(PYTHON) -c "from distutils import sysconfig; print(sysconfig.get_config_var('LIBDIR'))")
PYTHON_LIB:=$(shell $(PYTHON) -c "from distutils import sysconfig; print(sysconfig.get_config_var('LIBRARY')[3:-2])")
SYSLIBS:=$(shell $(PYTHON) -c "from distutils import sysconfig; print(sysconfig.get_config_var('SYSLIBS'))")
all: main \
config
.PHONY: clean
# nemazat C
.PRECIOUS: %.c
clean:
rm -f *.o \
rm -f *.c \
# O -> EXE
%: %.o
$(LINKER) -o $@ -L$(LIBRARY_DIR) -l$(PYTHON_LIB) $(SYSLIBS) $<
# C -> O
%.o: %.c
$(COMPILER) $(CFLAGS) -I$(INCLUDE_DIR) -c $< -o $@
# Python -> C
%.c: %.py
$(CYTHON) -a --embed $<
%.c: %.pyx
$(CYTHON) -a --embed $<
Tomuhle právě nerozumím. Takž k tomu potřebuji nainstalovat tohle?
https://pypi.org/project/msvc-runtime/
A jak potom doinstaluji make, překladač a linker? Nepotřebuji mohutné IDE, ani na něj nemám místo. Zdrojové *.c kódy vygeneruje Cython, potřebuji je jen přeložit pomocí příkazů na příkazové řádce. Potřebuji poradit, přesně který instalační balíček mám stáhnout a nainstalovat. Tiše doufám, že microsoft takový základ poskytuje v nekomerční bezplatné verzi.
Na linuxu překládám programy pomocí jednoduchého makefile. V podstatě jen potřebuji nahradit gcc něčím ve windows. Ten zbytek by měl fungovat beze změny, krom toho rm -f, ale to je marginálie. Pokud by Windows potřeboval toho víc, pak bych ještě potřeboval poradit s úpravou toho makefile. Ideálně bych chtěl radu od někoho, kdo to reálně používá a má vychytané různé mouchy.Kód: [Vybrat]PYTHON=python
CYTHON=cython
COMPILER=gcc
LINKER=gcc
CFLAGS=-O9
INCLUDE_DIR:=$(shell $(PYTHON) -c "from distutils import sysconfig; print(sysconfig.get_python_inc())")
LIBRARY_DIR:=$(shell $(PYTHON) -c "from distutils import sysconfig; print(sysconfig.get_config_var('LIBDIR'))")
PYTHON_LIB:=$(shell $(PYTHON) -c "from distutils import sysconfig; print(sysconfig.get_config_var('LIBRARY')[3:-2])")
SYSLIBS:=$(shell $(PYTHON) -c "from distutils import sysconfig; print(sysconfig.get_config_var('SYSLIBS'))")
all: main \
config
.PHONY: clean
# nemazat C
.PRECIOUS: %.c
clean:
rm -f *.o \
rm -f *.c \
# O -> EXE
%: %.o
$(LINKER) -o $@ -L$(LIBRARY_DIR) -l$(PYTHON_LIB) $(SYSLIBS) $<
# C -> O
%.o: %.c
$(COMPILER) $(CFLAGS) -I$(INCLUDE_DIR) -c $< -o $@
# Python -> C
%.c: %.py
$(CYTHON) -a --embed $<
%.c: %.pyx
$(CYTHON) -a --embed $<
T:\MSVC\14.24.28314\bin\Hostx86\arm\cl /c project.cpp /Fo:project_xyz-arm.obj /MT /Zl /IT:\msvc\14.24.28314\include /IT:\msvc\winkit\10\include\10.0.18362.0\um /IT:\msvc\winkit\10\include\10.0.18362.0\shared /IT:\msvc\winkit\10\include\10.0.18362.0\ucrt
T:\MSVC\14.24.28314\bin\Hostx86\arm64\cl /c project.cpp /Fo:project_xyz-arm64.obj /MT /Zl /IT:\msvc\14.24.28314\include /IT:\msvc\winkit\10\include\10.0.18362.0\um /IT:\msvc\winkit\10\include\10.0.18362.0\shared /IT:\msvc\winkit\10\include\10.0.18362.0\ucrt
T:\MSVC\14.24.28314\bin\Hostx86\x64\cl /c project.cpp /Fo:project_xyz-x64.obj /MT /Zl /IT:\msvc\14.24.28314\include /IT:\msvc\winkit\10\include\10.0.18362.0\um /IT:\msvc\winkit\10\include\10.0.18362.0\shared /IT:\msvc\winkit\10\include\10.0.18362.0\ucrt
Zkus si stáhnout instalátor MSVC (Visual Studia), řekl bych, že se dá zaškrtat instalace pouze řádkových překladačů a utilit.Tohle se myslím stahuje zvlášť, jsou tam všechny nástroje kromě GUI (jen instalátor a updater jsou GUI aplikace). Tohle by mělo stačit na překlad čehokoliv (já to dřív používal na Windows pro ARM, když tam ještě kompletní VS nebylo). Rozhodně to je na Windows snazší cesta než GNU.
[MSC v.1927 64 bit (AMD64)] on win32
PS C:\Users\uetoyo> py -3.8
Python 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53)
<code>
Microsoft Visual C++ versions
Visual C++ version _MSC_VER
Visual C++ 4.x 1000
Visual C++ 5 1100
Visual C++ 6 1200
Visual C++ .NET 1300
Visual C++ .NET 2003 1310
Visual C++ 2005 (8.0) 1400
Visual C++ 2008 (9.0) 1500
Visual C++ 2010 (10.0) 1600
Visual C++ 2012 (11.0) 1700
Visual C++ 2013 (12.0) 1800
Visual C++ 2015 (14.0) 1900
Visual C++ 2017 (15.0) 1910
Visual C++ 2017 (15.3) 1911
Visual C++ 2017 (15.5) 1912
Visual C++ 2017 (15.6) 1913
Visual C++ 2017 (15.7) 1914
Visual C++ 2017 (15.8) 1915
Visual C++ 2017 (15.9) 1916
Visual C++ 2019 RTW (16.0) 1920
Visual C++ 2019 (16.1) 1921
Visual C++ 2019 (16.2) 1922
Visual C++ 2019 (16.3) 1923
Visual C++ 2019 (16.4) 1924
Visual C++ 2019 (16.5) 1925
Visual C++ 2019 (16.6) 1926
Visual C++ 2019 (16.7) 1927
Visual C++ 2019 (16.8) 1928
Visual C++ 2019 (16.9) 1928
Visual C++ 2019 (16.10) 1929
Visual C++ 2019 (16.11) 1929
Visual Studio 2022 RTW (17.0) 1930
</code>
No, Cython je transkompiler do jazyka C, takže předpokládám, že hlavně potřebuji ekvivalent linuxovéhoKód: [Vybrat]sudo apt-get update
sudo apt-get install build-essential
pacman -S cythonTím se mi nainstalovala poslední stable verze 0.29.32.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.
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.