実現したいこと・エラーメッセージ
Cythonでハローワールドをしたいのですが
コンパイル出来ず、以下のエラーメッセージが出てしまいます。
ImportError: No module named Cython.Distutils
またコンパイル時のコマンドは
python setup.py build_ext --inplace
を使いました。
ソースコード
setup.py
python
1from distutils.core import setup 2from distutils.extension import Extension 3from Cython.Distutils import build_ext 4 5EXT_MODULES = [Extension("hello", ["hello.pyx"])] 6setup( 7 name = 'hello' , 8 cmdclass = {'build_ext': build_ext}, 9 ext_modules = [Extension("hello", ["hello.pyx"])] 10)
hello.pyx
print('Hello World!')
試したこと
pip show cython
を実行して、cythonがインタープリターと同じ場所にあることを確認したpip update cython
を実行して、最新バージョンにしたecho $PATH
を実行して、環境変数のパスが通っていることを確認した- 使うインタープリターを指定した状態で
pip uninstall cython
pip install cython
をして再インストールした alias sudo='sudo env PATH=$PATH'
sudo python setup.py install
を実行した(結果はenv :~~~: no such file or directory).bash_profile
を編集し`export PATH=/Users/.../opt/anaconda3/bin:$PATH:/usr/local/bin
`とした 参考サイト(https://qiita.com/k3ntar0/items/eb8cdbd8eba9da388def)
補足情報(FW/ツールのバージョンなど)
macOS Big Sur 11.2.3
CPU 2.3 GHz デュアルコアIntel Core i5
bash
python 3.7.3 (公式HPからDL後インストール。インストール時の環境PATHを通す設定はチェックつけてあったと思います。)
vscode 1.54.1 (Universal)
cython 0.29.22
環境変数
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/.../opt/anaconda3/bin:/Users/.../opt/anaconda3/condabin
追記1:
cython関連のエラー元となるコードを消しprint(distutils.file)をすると、
/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/distutils/__init__.py
と出ました。
追記2:
もう一度環境を見直したところ、gcc及びg++が入っていませんでした。
Homebrewをインストールし、こちらの記事(https://qiita.com/wawawa/items/50c2c612b0937f28d92b)を参考にそれらを入れましたが、
結果は変わりませんでした。
優しく教えてもらえればと思います....!
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー