[解決済み] ImportError: Cython.Distutilsという名前のモジュールはありません。
質問
Pythonのライブラリをインストールしようとすると、奇妙な問題が発生します。
zenlib
を使用し、その
setup.py
ファイルを作成します。を実行すると
setup.py
ファイルでは、インポートエラーが発生し、次のようになります。
ImportError: Cython.Distutilsという名前のモジュールはありません`。
しかし、そのようなモジュールがあり、pythonコマンドラインで問題なくインポートすることができます。 なぜこのようなインポートエラーが発生するのでしょうか?
を使用していることが関係しているのではないかと思います。 Enthought Python ディストリビューション Ubuntu 12.04に付属のPython 2.7ではなく、事前にインストールしたPython 2.7を使用しています。
さらに背景を説明します。 setup.pyを実行しようとすると、こんな感じになります。
enwe101@enwe101-PCL:~/zenlib/src$ sudo python setup.py install
Traceback (most recent call last):
File "setup.py", line 4, in <module>
from Cython.Distutils import build_ext
ImportError: No module named Cython.Distutils
でも、コマンドラインからだとうまくいくんですよ。
>>> from Cython.Distutils import build_ext
>>>
>>> from fake.package import noexist
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named fake.package
最初のimportはうまくいき、2番目のimportはエラーを投げることに注意してください。 setup.pyの最初の数行と比較してみてください。
#from distutils.core import setup
from setuptools import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
import os.path
Ubuntu に付属する Python ではなく Enthought Python Distribution がデフォルトで実行されるように、bash の $PATH 環境変数を編集して先頭に追加しておきました。
~/.bashrc
で、最後の行にこれを追加してください。
export PATH=/usr/local/epd/bin:$PATH
で、実際に
which python
を吐き出します。
/usr/local/epd/bin/python
... 他に何を試せばいいのかわからず、自分のサイトのパッケージディレクトリに行き、(
/usr/local/epd/lib/python2.7/site-packages
にフルパーミッション(r,w,x)を与えてください。
Cython
,
Distutils
,
build_ext.py
を、そして
__init__.py
ファイルを作成します。 おそらく試すのは愚かで、何も変わりませんでした。
次に何を試せばいいのか思いつかない!?何かアイデアはありますか?
解決方法は?
sudoが正しいpythonを取得できていません。これはUbuntuのsudoの既知の動作です。これを参照してください。 質問 をご覧ください。sudo が正しい python を呼び出すかどうか、フルパスで確認する必要があります。
sudo /usr/local/epd/bin/python setup.py install
を実行するか、以下のように(bashで)実行します。
alias sudo='sudo env PATH=$PATH'
sudo python setup.py install
関連
-
python string splicing.join()とsplitting.split()の説明
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Python 入出力と高次代入の基礎知識
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】socket.error: [Errno 48] アドレスはすでに使用中です。
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み] 億の相対的輸入
-
[解決済み] Pythonエラー "ImportError: No module named"
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み] 'DataFrame' オブジェクトに 'sort' 属性がない
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み】Flask ImportError: Flask という名前のモジュールがない
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】Flaskのテンプレートが見つからない【重複あり