

はじめまして  
私は今、tensorflow/magentaのnsynthを試しているところです  
環境は  
Ubuntu 16.04 LTS  
pip 18.1  
magenta-gpu 0.3.12  
tensorflow-gpu 1.11.0  
librosa 0.6.2  
です。

対話モードで

[code]

    >>import librosa
    
[/code]

とやっても  
pythonのファイルを作り、「import librosa」を実行してもImportErrorは起こらないのですが

[code]

    #前略
    """Utility functions for NSynth."""
    
    from __future__ import absolute_import
    from __future__ import division
    from __future__ import print_function
    
    import importlib
    import os
    # internal imports
    import numpy as np
    import librosa
    from six.moves import range  # pylint: disable=redefined-builtin
    import tensorflow as tf
    #略
    
[/code]

というpythonファイルを実行すると

[code]

        Traceback (most recent call last):
    File "/home/User/.cache/bazel/_bazel_root/8d760b4887a3a97dbc093bfa28201502/execroot/__main__/bazel-out/k8-opt/bin/magenta/models/nsynth/baseline/train.runfiles/__main__/magenta/models/nsynth/baseline/train.py", line 23, in <module>
        from magenta.models.nsynth import reader
      File "/home/User/.cache/bazel/_bazel_root/8d760b4887a3a97dbc093bfa28201502/execroot/__main__/bazel-out/k8-opt/bin/magenta/models/nsynth/baseline/train.runfiles/__main__/magenta/models/nsynth/reader.py", line 24, in <module>
        from magenta.models.nsynth import utils
      File "/home/User/.cache/bazel/_bazel_root/8d760b4887a3a97dbc093bfa28201502/execroot/__main__/bazel-out/k8-opt/bin/magenta/models/nsynth/baseline/train.runfiles/__main__/magenta/models/nsynth/utils.py", line 24, in <module>
        import librosa
    ImportError: No module named librosa
    
[/code]

となってしまいます。  
pipでインストールされているかどうかや、パスの指定も確認してみたものの解決策がわかりません  
どなたか教えていただけませんか

完全なpythonファイルは[こちら](https://drive.google.com/file/d/1NLzwn0dD5nHj8x-qIIBSsQeMqYJpTLV8/view?usp=sharing)です

＞補足

[code]

    pip show librosa
    
[/code]

の結果

[code]

    Name: librosa
    Version: 0.6.2
    Summary: Python module for audio and music processing
    Home-page: http://github.com/librosa/librosa
    Author: Brian McFee
    Author-email: brian.mcfee@nyu.edu
    License: ISC
    Location: /home/User/miniconda2/lib/python2.7/site-packages
    Requires: numba, scipy, joblib, numpy, scikit-learn, decorator, audioread, six, resampy
    Required-by: magenta-gpu
    
[/code]

また、

[code]

    import sys
    print(sys.path)
    print(sys.executable)
    
[/code]

の結果

[code]

    [
      '/home/User/magenta/magenta/models/nsynth/baseline',
      '/home/User/.cache/bazel/_bazel_root/8d760b4887a3a97dbc093bfa28201502/execroot/__main__/bazel-out/k8-opt/bin/magenta/models/nsynth/baseline/train.runfiles',
      '/home/User/.cache/bazel/_bazel_root/8d760b4887a3a97dbc093bfa28201502/execroot/__main__/bazel-out/k8-opt/bin/magenta/models/nsynth/baseline/train.runfiles/__main__',
      '/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',
      '/home/User/.local/lib/python2.7/site-packages',
      '/usr/local/lib/python2.7/dist-packages',
      '/usr/lib/python2.7/dist-packages'
    ]
    /usr/bin/python
    
[/code]

こうなりました  
回答お願いいたします


CC BY-SA 4.0
2018-10-22T12:04:18.450
49534
2019-02-05T11:01:15.197
2020-06-17T08:14:45.997
-1
30633
question
python tensorflow
あるコードでのみ「ImportError: No module named librosa」のエラーが発生する


pipでlibrosaがどこにインストールされているかを調べるため、次のコマンドを実行してください。Locationでわかります。

[code]

    pip show librosa
    
[/code]

次に、エラーが発生しているpythonファイルに次の行を追加して、インポートするモジュールを検索するパスのリストとPythonインタプリタの実行ファイルの絶対パスを確認してください。

[code]

    import sys
    print(sys.path)
    print(sys.executable)
    
[/code]

この結果をみれば原因はほぼわかると思います。複数のPythonがインストールされていて、対話モードとPythonファイルの実行環境が異なる可能性が高いと思われます。


CC BY-SA 4.0
2018-10-22T22:44:19.650
49546
2018-10-23T10:07:17.287
2018-10-23T10:07:17.287
15171
15171
49534
answer