🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

4011閲覧

ImportError: No module named Cython.Distutils

vkbvex

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/03/12 01:48

編集2021/03/15 05:10

実現したいこと・エラーメッセージ

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!')

試したこと

  1. pip show cython を実行して、cythonがインタープリターと同じ場所にあることを確認した
  2. pip update cythonを実行して、最新バージョンにした
  3. echo $PATHを実行して、環境変数のパスが通っていることを確認した
  4. 使うインタープリターを指定した状態でpip uninstall cython pip install cythonをして再インストールした
  5. alias sudo='sudo env PATH=$PATH' sudo python setup.py installを実行した(結果はenv :~~~: no such file or directory)
  6. .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)を参考にそれらを入れましたが、
結果は変わりませんでした。

優しく教えてもらえればと思います....!
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2021/03/12 02:43

macのCPUが何か、Pythonをどうやってインストールしたか(M1バイナリかIntelバイナリか)あたりが質問に書いてあるといいかと思います。 from Cython.Distutils import build_ext の行の上で import Cython print(Cython.__file__) を試してみるといいかもしれません。結果を質問に追記するといいかと思います。
vkbvex

2021/03/12 05:56

早速の回答ありがとうございます。 すぐ質問の方も修正しますが、IntelCPUです。今使っているインタープリターのインストールは公式HPからDLして行いました(が同じPCにanaconda環境もあります)。 またご指摘の import Cython print(Cython.__file__) ですが File "setup.py", line 3, in <module> import Cython ModuleNotFoundError: No module named 'Cython' と出て実行できませんでした...
guest

回答1

0

自己解決

VScodeのターミナルではなく、Macのターミナルを使うと出来ました。
あまり根本的な解決方法ではない気もしますが、出来たのでこちらに。

投稿2021/03/15 06:09

vkbvex

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問