2017-01-26 19 views
0

相対パスのインポートの設定に関する質問。 I「 に住んファイル(モジュール)の束を持っている/ユーザ/共通MYNAME /デスクトップ/ programX_files/programX// など:Pythonの相対パスからのインポート

  1. /ユーザ/ MYNAME /デスクトップ/ programX_files/programX /共通/ constants.py
  2. /Users/myname/Desktop/programX_files/programX/common/util/misc.py

これらのモジュールの各々は、必要に応じて共通/ディレクトリ内から他のモジュールをインポートするためのラインを持っています。例:util_miscとして

  • インポートprogramX.common.util.misc:

    (/Users/myname/Desktop/programX_files/programX/common/constants.py)における "constants.pyは" 行を含みます(/Users/myname/Desktop/programX_files/programX/common/util/misc.py)で

そして "misc.py" の行が含まれますよう

  • 輸入programX.common.constantsを定数

これらのモジュールを使いたいと思います。どうすればpythonが(/ Users/myname/Desktop/programX_files/programX/common /)と共通のサブディレクトリを調べることがわかるように、正しいパスの依存関係を設定することができますか?

私はパスを追加しようとしたが、それは動作しません:

>>> import sys 
>>> sys.path.append('/Users/myname/Desktop/programX_files/programX/') 
>>> import programX.common.constants.py as constants 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named programX.common.constants.py 
>>> 
>>> sys.path.append('/Users/myname/Desktop/programX_files/programX/common/') 
>>> sys.path.append('/Users/myname/Desktop/programX_files/programX/common/util') 
>>> 
>>> import programX.common.constants.py as constants 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named programX.common.constants.py 
>>> 
>>> import os 
>>> os.getcwd() 
'/Users/myname' 
>>> 
>>> import Desktop.programX_files.programX.common.constants.py as constants 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named Desktop.programX_files.programX.common.constants.py 
>>> 

私はそれはいくつかの比較的単純な解決策になるかもしれませんが、私はそれを把握することはできません推測しています。答えをありがとう。

答えて

0

あなたのコードは次のようになります。

import sys 
# set path to folder 
sys.path.append('/Users/myname/Desktop/programX_files/') 
# now import files 
import programX.common.constants.py as constants 
関連する問題