1

重複の可能性:
Pythonパッケージ構造

こんにちは、メインファイルのルートの下にあるサブディレクトリにあるPythonファイルをインポートしようとしています。例えば

import ../library/utils.py

それをコードに入れて実行すると、コンパイルエラーが発生します。

メインファイルのルートディレクトリの下からファイルを含める方法はありますか、それともルートのサブディレクトリにある必要がありますか?

ご協力いただきありがとうございます。

4

2 に答える 2

9

ファイルをインポートするのではなく、モジュールをインポートします。sys.pathそれに応じて変更し、import utilsたとえば

import sys
sys.path.append('../library')
import utils
于 2011-05-23T21:10:52.230 に答える
3
import sys, os
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'library')))

import utils

これにより、ファイルを検索するためのディレクトリを含むsys.path変数が変更されます。また、次のように実行した場合でも、正しく検出されることを確認します。

$ python the_file.py
$ python ../the_file.py
$ python /somewhere/over/the_file.py

これは、開発中、テスト中、トレーニング中のもので機能します。インストールされたファイルはそのような構成を必要としません。

于 2011-05-23T21:11:41.587 に答える