1

モジュール「windrose」を Python2.7 のパス「/home/user/.local/lib/python2.7/site-packages/windrose/windrose.py」にインストールしてロードしました。を含むプログラムを実行すると

from windrose import WindroseAxes
from matplotlib import pyplot as plt
import matplotlib.cm as cm
import numpy as np

エラーメッセージが表示されます:

Traceback (most recent call last):
  File "/home/user/Documents/evaluation/my_windrose.py", line 1, in <module>
   from windrose import WindroseAxes
  File "/home/user/Documents/evaluation/windrose.py", line 1, in <module>
ImportError: cannot import name WindroseAxes

リスト sys.path には、このモジュールの誤ったエントリが含まれていると思います。これは、Python がフォルダー "evaluation" で windrose.py を検索するためです。したがって、モジュールを正しいパスから直接ロードすると、プログラムは正常に動作しました。

from matplotlib import pyplot as plt
import matplotlib.cm as cm
import numpy as np
import imp
foo = imp.load_source('windrose', '/home/user/.local/lib/python2.7/site-packages/windrose/windrose.py')
from windrose import WindroseAxes

しかし、これはより簡単に操作できるはずです!私が知りたいのは、このモジュールの間違ったパスを正しいパスに永久に置き換える方法です。新しいディレクトリを sys.path に挿入するための回答をいくつか見つけましたが、windrose ディレクトリを 2 つも作成したくありません。何か案は?ありがとう!

4

0 に答える 0