2016-07-19 16 views
4

Python 3でImportErrorの問題が発生しました。 マイプロジェクト構造が似ている:scripts/cts_sap_polaris.pyImportError:エラー 'パッケージではありません'

cts_sap_polaris/                  
|-- etc                    
| |-- clean_cts_sap_polaris.yaml             
| |-- clean_env_variables.tcl              
| |-- cts_sap_polaris_ha_combined.yaml            
| |-- cts_sap_polaris.yaml               
| `-- TCL_TESTBED_CONFIGS               
|-- __init__.py                  
|-- jobs 
| |-- __init__.py 
| |-- __pycache__ 
| | `-- run_cts_sap_polaris.cpython-34.pyc 
| `-- run_cts_sap_polaris.py 
|-- lib 
| |-- cli_check.py 
| |-- cts_sap_polaris_utils.py 
| |-- __init__.py 
| |-- router_show_cts_cmd.py 
| |-- router_show_etherchannel_cmd.py 
| |-- router_show.py 
| |-- utils.py 
| |-- validate_show_output.py 
| `-- wait_for.py 
|-- scripts 
| |-- cts_sap_polaris_ha_combined.py 
| |-- cts_sap_polaris.py 
| |-- __init__.py 
| `-- __pycache__ 
|  `-- cts_sap_polaris.cpython-34.pyc 
`-- test 
    |-- code_snippets 
    |-- cts_interface.json 
    |-- cts_interface_summary.json 
    |-- etherchannel_port_channel.json 
    |-- etherchannel_port.json 
    |-- __init__.py 
    |-- test_cts_sap_cli.py 
    `-- test_router_show.py 

私はインポートこのエラーを投げている

import cts_sap_polaris.lib.cli_check as cli_check 

しようとしています:私が理解から

ImportError: No module named 'cts_sap_polaris.lib'; 'cts_sap_polaris' is not a package. 
+1

このスクリプトをどのディレクトリから実行しようとしていますか? scriptsディレクトリの中から?ツリーを取得したときと同じディレクトリから実行するか、同じディレクトリをPYTHONPATHに追加する必要があります。 – jedwards

+1

実際、あなたはそれを行う必要がありますが、あなたの場合、 "cts_sap_polaris.py" *という名前のファイルもscriptsディレクトリに存在することが常に最初に検出されます。名前を変更(または移動)する必要があります。 – jedwards

答えて

0

を、Pythonはのみ検索現在のディレクトリとsys.path。 実行時にpythonパスに追加することができます。 は、同様の質問は、私はこの ..

# scripts/cts_sap_polaris.py 
    import sys 
    sys.insert.path(0,'/path/to/cts_sap_polaris/lib') 
    import cli_check 

はそれが動作するかどうか、私に教えてくださいしてみてくださいにあなたをお勧めしhere

に答えてきました。

関連する問題