.py 파일을 .dll로 바꾸는 방법
.py 파일을 .pyd로 바꾼 이후 (pyd가 dll이라고 하니) C에서 #include로 불러 들이는 방법
.py 파일을 .pyx로 바꾼 이후 .c로 바꾸는 방법
등 .py 파일을 C에서 사용할 수 있는 방법에 대한 여러 자료를 헷갈리지 않게 정리해보는 글
----------------------------------------------------------------------------------------------------------------------------
1. PY to PYD
https://stackoverflow.com/questions/51465837/convert-py-file-into-pyd-file
- 질문
: main.py 를 main.c로는 바꿨는데 main.pyd로 바꿀 수는 없을까? main.c에서 main.pyd로 변환은 어렵더라.
- 답변
: 넌 지금 네 script로 library를 만드는 방법이 필요한 것 같아.
main.py 옆에 아래와 같이 setup.py를 만들어서 "python setup.py build_ext --inplace"를 돌려봐!
- 내가 따라한 결과
: 아래와 같은 setup.py를 만들어서 hello.py를 바꿔보니 c파일과 pyd 파일이 생겼다.
2. CYTHON
http://docs.cython.org/en/latest/src/quickstart/build.html
Cython 코드는 Python과 달리 반드시 컴파일된다. (ㅋ)
- .pyx 파일은 Cython에 의해 .c 파일로 컴파일된다 (.c 파일 + Python extension module)
- .c 파일은 C 컴파일러에 의해 .pyd 파일로 컴파일된다 --> .pyd 파일은 Python에 바로 import된다. (관심 없음)
└ distutils와 setuptools가 도와줌
3. PYTHONNET
https://stackoverflow.com/questions/46317830/using-pyd-file-in-c
- 질문 : 난 C#으로 프로그램을 만들고 있는데,
python으로 만들기 쉬운 건 .pyd 파일로 만들어서 C# 프로그램에서 쓰고싶어. 근데 어케하는지 모르겠어.
① C#에서 .pyd 파일을 어떻게 사용해?
② pyd 파일이 dll 파일이랑 비슷하다며. pyd 파일을 python이 깔리지 않은 컴퓨터에서 사용할 수 있는거 맞아?
- 답변 : pythonnet 사용해봐 tutorial은 여기있어.
//상관은 없지만 VSCode에서 C/C++ 프로그래밍하는 방법
https://webnautes.tistory.com/1158
'Python' 카테고리의 다른 글
[Visual Studio] Python 가상환경 사용 (0) | 2020.02.04 |
---|---|
[Pythonnet] Python for .NET (embedding python) (3) | 2020.02.04 |
[cx_Freeze] multiple python files를 exe 파일로 만들기 (0) | 2020.02.04 |
[cx_Freeze] exe 파일 배포 시 에러 해결 (0) | 2020.02.04 |
[Python] exe파일 만들기 (py2exe, cx_Freeze, pyinstaller) (0) | 2020.01.15 |