PyCharm에서 Cython을 시도하려고 할 때 빠졌기 때문에 메모
개요
PyCharm에서 Cython을 사용하려고,
참고로 setup.py를 설정하고 실행하면
/Users/username/PycharmProjects/cyyc/venv/bin/python3.6 /Users/username/PycharmProjects/cyyc/setup.py build_ext --inplace
Traceback (most recent call last):
File "/Users/username/PycharmProjects/cyyc/setup.py", line 8, in <module>
ext_modules=cythonize("helloworld.pyx")
File "/Users/username/PycharmProjects/cyyc/venv/lib/python3.6/site-packages/Cython/Build/Dependencies.py", line 897, in cythonize
aliases=aliases)
File "/Users/username/PycharmProjects/cyyc/venv/lib/python3.6/site-packages/Cython/Build/Dependencies.py", line 777, in create_extension_list
for file in nonempty(sorted(extended_iglob(filepattern)), "'%s' doesn't match any files" % filepattern):
File "/Users/username/PycharmProjects/cyyc/venv/lib/python3.6/site-packages/Cython/Build/Dependencies.py", line 102, in nonempty
raise ValueError(error_msg)
ValueError: 'helloworld.pyx' doesn't match any files
プロセスは終了コード 1 で完了しました
helloworld.pyx를 찾을 수 없다고 들었습니다.
(
"cyyc"
는 프로젝트 이름)환경
macOS High Sierra 10.13.6
PyCharm Professional 2018.2(Pleiades에서 일본어화됨)
Python3.6
virtualenv 사용
했던 일
절대 경로 지정
.pyx 파일의 위치를 절대 경로로 만들었습니다.
setup.pyfrom distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize("/Users/username/PycharmProjects/cyyc/helloworld.pyx")
)
성공했지만, 이것으로는 불편.
작업 디렉토리 변경
외부 도구 설정을 검토합니다.PyCharm > Preferences > ツール > 外部ツール
작업 디렉토리가 초기 설정에서는 /venv/bin
로 되어 있지만, 소스 파일이 있는 디렉토리로 바꾼다.
여기서는 매크로에서 프로젝트 디렉토리 $Projectpath$
를 지정합니다.
나중에 깨달았지만 참고한 사이트 2에서도 이렇게 설정했습니다.
setup.py를 취소했습니다.
setup.pyfrom distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize("helloworld.pyx")
)
실행하면 .so 파일이 생성되었습니다.
깨달은 것
외부 툴의 설정으로, 인수의 1 번째를 FilePath
(와)과 매크로로 지정하고 있기 (위해)때문에, setup.py 이외의 파일을 연 상태에서 외부 툴의 실행을 하면(자) 그 파일이 인수에 넣어져 , 실행에 실패합니다.
Reference
이 문제에 관하여(PyCharm에서 Cython을 시도하려고 할 때 빠졌기 때문에 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nebusoku3e/items/f5686d1abe69e4070501
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize("/Users/username/PycharmProjects/cyyc/helloworld.pyx")
)
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize("helloworld.pyx")
)
외부 툴의 설정으로, 인수의 1 번째를
FilePath
(와)과 매크로로 지정하고 있기 (위해)때문에, setup.py 이외의 파일을 연 상태에서 외부 툴의 실행을 하면(자) 그 파일이 인수에 넣어져 , 실행에 실패합니다.
Reference
이 문제에 관하여(PyCharm에서 Cython을 시도하려고 할 때 빠졌기 때문에 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nebusoku3e/items/f5686d1abe69e4070501텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)