입자 반응에 대해 사용자를 가르치기 위해 입자의 반응을 시뮬레이션하는 프로그램을 파이썬으로 작성하고 있습니다. 파이썬이 필요한 처리를하기에는 너무 느리므로, 속도 향상을 위해 Cython으로 방향을 돌렸고 치료를했습니다. .pyx
파일을 .pyd
파일로 컴파일하고 간단한 import
문 (예 : 'import module')으로 파이썬에서 가져 와서 실행할 수 있습니다.파이썬을 통해 가져 오는 Cython pyd 파일
그러나 프로그램을 결국 다른 사람의 컴퓨터에서 실행해야하며이 컴퓨터에서는 .pyd
파일을 가져올 수 없습니다. 내가하려고하면이 오류 메시지가 :
"ImportError: DLL load failed: The specified module could not be found."
.pyd
파일은 다른 컴퓨터에 설치된 파이썬 3.3있는 동안 그러나, 내가 파이썬 3.6를 실행하고, 두 컴퓨터에 정확히 같은 위치에 있습니다. 또한 내 컴퓨터에는 Cython이 설치되어 있지만 다른 컴퓨터에는 설치되어 있지 않습니다. 두 기계 모두 32 비트입니다.
다른 컴퓨터에 .exe
파일의 블록이 있으므로 전체 프로그램을 .exe
파일로 간단히 컴파일 할 수 없습니다.
나는 Cython에서 스택의 질문을 통해 trawled하고, Cython 문서를 모두 쓸데없이 연구했다.
누군가 가져 오기가 작동하지 않는 이유와 내가 작동하도록하는 방법을 설명 할 수 있습니까? 정확히 .pyd
파일에 대한 몇 가지 추가 배경과 파이썬이 그것들을 어떻게 부르는 지 또한 좋을 것입니다.
편집 : main.py라는 파일에서 프로그램을 실행합니다. 동일한 디렉토리에서 main이라는 폴더를 가지고 있는데, 모듈에 사용하는 코드를 저장합니다. main.py는 MoveParticles.pyd를 호출하는 ParticleModel.py를 호출하는 PageManager.py를 호출합니다. (이 세 파일은 main 폴더에 저장됩니다.) 내 컴퓨터에서 작동하는 .pyd 파일을 가져 오려면
"import main.MoveParticles"
을 사용하십시오.
본인의 질문을 편집하여 세부 사항을 제공합니다. 불행히도 업로드 할 이미지를 가져올 수 없습니다. 그렇지 않으면 실제 파일을 보여줬을 것입니다 ... –
setup.py는 어떻게 생겼습니까? Cython.Build 수입 cythonize에서 distutils.core 가져 오기 설정 에서 – ead
#cython 설치 파일 설정 (ext_modules = cythonize (MYFILEPATH.pyx)) 내 .pyx 파일을 컴파일 한 다음에서 결과으로 .pyd 파일을 이동 내 파이썬 폴더 내 주 폴더 (전에 참조) 내 –