Sto costruendo un progetto cython indipendente dalla piattaforma in cui voglio passare gli argomenti del compilatore in base al compilatore utilizzato. Posso indovinare il compilatore basato sulla piattaforma o assumere che sia lo stesso compilatore usato per Python ma non è garantito che corrisponda. Normalmente inserisco l'argomento cmdclass
nel metodo di setuptool e avvolgo i comandi install o build_ext per controllare lo stato interno. Ma in questo caso devo cythonizzare i moduli di estensione prima di raggiungere i wrapper.Come identificare il compilatore prima di definire le estensioni cython?
C'è un modo per determinare il compilatore all'interno di setup.py prima di criptare i moduli di estensione?
non è possibile passare il compilatore come argomento a setup.py: 'python setup.py build --compiler = mingw32'? – denfromufa
puoi anche usare cmake per compilare codice cython in modo cross-platform: https://github.com/thewtex/cython-cmake-example – denfromufa
@denfromufa Puoi passare '--compiler = mingw32', ma altri destinatari del il repository non saprà necessariamente su cosa impostare l'argomento del compilatore o se è una dipendenza di un altro repository. E 'pip install' sicuramente non creerà un argomento simile a setuptools. Potrei leggere l'argomento se stavo usando solo 'python setup.py install '- è vero. – Pyrce