zenlib
そのsetup.py
ファイルを使用してPythonライブラリをインストールしようとすると、奇妙な問題が発生します。ファイルを実行するとsetup.py
、インポートエラーが発生します。
ImportError:Cython.Distutils`という名前のモジュールがありません
しかし、私はそのようなモジュールを持っており、問題なくpythonコマンドラインにインポートできます。なぜこのインポートエラーが発生するのでしょうか?
問題は、Ubuntu12.04に付属のPython2.7を使用するのではなく、直前にインストールしたEnthoughtPythonDistributionを使用していることに関係しているのではないかと思います。
その他の背景: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
最初のインポートが機能し、2番目のインポートがエラーをスローすることに注意してください。これを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ではなくEnthoughtPythonDistributionが、編集によってbash $ PATH環境変数~/.bashrc
の前に追加し、これを最後の行として追加することで、デフォルトで実行されるものであることを確認しました。
export PATH=/usr/local/epd/bin:$PATH
そして実際にwhich python
吐き出し/usr/local/epd/bin/python
ます...他に何を試すべきかわからないので、私は自分のサイトパッケージディレクトリに行き、( )、、、、およびファイルへの完全なアクセス許可(r 、 w 、/usr/local/epd/lib/python2.7/site-packages
x)を与えました。試してみるのはおそらくばかげているし、何も変わらなかった。Cython
Distutils
build_ext.py
__init__.py
次に何をしようか考えられない!?何か案は?