저는 우분투 플랫폼에서 cython으로 작업하고 있습니다. 나를 괴롭히는 것이 하나있는 것을 제외하면 모든 것이 잘 작동합니다. cython 프로젝트를 .so 파일로 컴파일 할 때 .pyx 파일의 파일 이름에는 "cpython-36m-x86_64-linux-gnu"가 추가됩니다. 예를 들어, "helloworld.pyx"를 빌드하면 결과 .so 파일은 "helloworld.cpython-36m-x86_64-linux-gnu.so"라고합니다. 그러나 나는 단지 그것을 "helloworld.so"라고 부르기를 원할 것이다.Cython 컴파일은 파일 이름에 텍스트를 추가합니다. 어떻게 제거합니까?
나는 그 대답이 아주 사소 할 것이라고 생각했기 때문에 나는 검색을 시작했다. 심지어 30 분 후에 나는 그 주제에 관해 아무것도 찾을 수 없었다. 누구 아이디어가 있습니까?
print('hello world')
setup.py 파일 :
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize("helloworld.pyx")
)
파일 작성 :
python setup.py build_ext --inplace
Compiling helloworld.pyx because it changed.
[1/1] Cythonizing helloworld.pyx
running build_ext
building 'helloworld' extension
gcc -pthread -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/**/anaconda3/include/python3.6m -c helloworld.c -o build/temp.linux-x86_64-3.6/helloworld.o
gcc -pthread -shared -L/home/**/anaconda3/lib -Wl,-rpath=/home/ed/anaconda3/lib,--no-as-needed build/temp.linux-x86_64-3.6/helloworld.o -L/home/**/anaconda3/lib -lpython3.6m -o /home/**/new_project/helloworld.cpython-36m-x86_64-linux-gnu.so
여분의 텍스트 인'import helloworld'를 사용해도 괜찮습니다. 작성한 후에 파일 이름을 편집하거나 사본을 만들 수 있습니다. 하지만 방금 내버려 두었습니다. 그것은 나를 위해 방해가되지 않습니다. – hpaulj
'-o/home/paul/mypy/cython3/try_numpy/iterate.cpython-35m-i386-linux-gnu.so'에서'-o./iterate.so'로'gcc' 명령의 끝을 변경하면, 결과'.so' 이름을 변경합니다. 그러나'setup' 파일에서'-o' 옵션을 지정하는 방법을 찾을 수 없습니다. – hpaulj