質問をすることでしか得られない、回答やアドバイスがある。

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

ただいまの
回答率

89.64%

Pythonでのモジュールインポートエラーを解消したい

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 597

taaak_322

score 7

前提・実現したいこと

Pythonでのモジュールインポートエラーを解消したい。

Linuxを扱い始めて2週間くらいの者です。
PyFoamというモジュールをインストールしたのですが、正常にインストールできていない可能性があります。
PyFoamのインストールの確認のためにモジュールに含まれるFoamInformation.pyを実行したところ、インポートでのエラーを吐き出しました。
このエラーを回避する方法をご教示いただけないでしょうか。

発生している問題・エラーメッセージ

$ python

Python 2.7.15+ (default, Nov 27 2018, 23:36:35)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.

>>> import PyFoam.FoamInformation

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/(ユーザー名)/.local/lib/python2.7/site-packages/PyFoam/FoamInformation.py", line 14, in <module>
    from PyFoam.Error import error,warning
ImportError: No module named Error

該当のソースコード

#ソースコードのエラー該当箇所の抜粋

#  ICE Revision: $Id$
"""Getting Information about the Foam-Installation (like the installation directory)"""

from os import environ,path,listdir
import sys

if sys.version_info<(2,6):
    from popen2 import popen4
else:
    from subprocess import Popen,PIPE,STDOUT

import re

from PyFoam.Error import error,warning #ここのインポートでエラー発生

from PyFoam import configuration as config

def getPathFromEnviron(name):
    """Gets a path from an environment variable
    :return: the path
    :rtype: string
    :param name: the name of the environment variable"""

    tmp=""
    if name in environ:
        tmp=path.normpath(environ[name])

    return tmp

試したこと

・PATHが通っているディレクトリの確認
import sys
sys.path

/home/(ユーザー名)/.local/lib/python2.7/site-packages',
'/home/(ユーザー名).local/lib/python2.7/site-packages',
'/home/(ユーザー名)/OpenFOAM/PyFoam/lib/python2.7/site-packages',
'/home/(ユーザー名)', 
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages'

・インタプリタの確認
$which python

/usr/bin/python

・環境変数の確認
.bashrcを確認したところPYTHONPATHとPATHは以下の様に設定されています。
export PYTHONPATH=$HOME/.local/lib/python2.7/site-packages:$PYTHONPATH
export PATH=$HOME/.local/bin:$PATH

・インポートエラーとなっているファイルについて
site-package/PyFoam 内にはErrorとういディレクトリはありまんが、
Error.pyという名前のファイルは存在しています。

補足情報(FW/ツールのバージョンなど)

実行環境
Windows Subsystem for Linux
ディストリビューション:Ubuntu 18.04.2 
Python 2.7

(追記)
当方Win10においてWindows Subsystem for Linux(WSL)にてLinux環境を構築しております。
AnacondaはWindowsにはインストールしていますが、WSL環境ではインストールしておりません。
Linux上でconda仮想環境が競合する状況は可能性としては低そうです。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

check解決した方法

+1

PyFoamをインストールし直すことで正常に実行できるようになりました。
PIPでインストールしエラーをはいていたので、今回はモジュールを直接ダウンロード・解凍という手順で手動インストールするとうまくいきました。
根本の原因は特定に至りませんでしたが、問題を解決することはできました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

condaコマンドの仮想環境が有効になっているのかもしれません
conda deactivateで無効にできます

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/07/05 17:28

    ご回答ありがとうございます。
    実行結果は
    command not found
    でした。

    当方Win10においてWindows Subsystem for Linux(WSL)にてLinux環境を構築しております。
    AnacondaはWindowsにはインストールしていますが、WSL環境ではインストールしておりません。
    Linux上でconda仮想環境が競合する状況は可能性としては低そうです。

    キャンセル

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

  • ただいまの回答率 89.64%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる