2017-04-25 20 views
0

私はgithubのからこのOpenCVのプロジェクトに適用しようとしています: https://github.com/andrewssobral/simple_vehicle_countingはImportError:いいえモジュールの名前PBAS

私はLinux上でのpythonの方法で行ってきましたが、これは私がトラブルを抱えているインポート行です:

the error message

Traceback (most recent call last): 
    File "./build/python/demo.py", line 6, in <module> 
    import bgs.pbas as pbas 
    File "/home/user/Downloads/simple_vehicle_counting-master/build/python/bgs/pbas/__init__.py", line 1, in <module> 
    from pbas import * 
ImportError: No module named pbas 

と:

from __future__ import print_function 
import cv2 

import analysis 
import tracking 
import bgs.pbas as pbas 

最後の行は、このエラーの原因となるものですPBASのinitファイル内のコードです:

from pbas import * 

# noinspection PyUnresolvedReferences 
import pyboostcvconverter as pbcvt 

注:

from analysis import * 

# noinspection PyUnresolvedReferences 
import cvb 
# noinspection PyUnresolvedReferences 
import pyboostcvconverter as pbcvt 
:最初の1 import analysisのような他の輸入は初期化ファイルは非常に似ており、これは、分析の初期化ファイルであっても正常に動作しています
+0

私が見たときにbgs.pbasため '__init__'内で正確に何ではありません:Pythonはここにインポートするモジュールを検索する場所の詳細。私は 'import _pbas'を見ます。なぜあなたは何か違うものがあるのか​​分かりませんが、その小さなアンダースコアは事を説明するかもしれません。 – RobertB

答えて

1

インポートはプログラムの名前空間では見えないので、from bgs.pbas import *を実行する必要があります。既にbgs.pbasをpbasとしてインポートしたことはわかりません。

https://docs.python.org/2/tutorial/modules.html#the-module-search-path

+0

申し訳ありませんが、私は0_0を得ていませんでした。もっと説明していただけますか? 私はなぜ 'import analysis'を書くのがいいのですが、 'bgs.pbas as pbas'をインポートしないのですか? –

+0

それはうまくいったのですが、なぜか知りたいのですが? –

+0

@AmerAlahmar「bgs.pbasをpbasとしてインポートする」は大丈夫です。これにより、プログラムの名前空間にbgs.pbasがpbasとして置かれます。 Importはプログラムの名前空間をチェックしません。*からインポートする場合は、フルネームを使用する必要があります: 'from bgs.pbas import *'、 'from pbas import * '。 – dogoncouch

関連する問題