2017-07-13 7 views
0

twistedを使用して実行したいPythonファイルがあります。私が持っているファイル内:twistedでカスタムモジュールをインポートする方法

from parser import Parser 

私はまた、内部Parserクラスでparser.pyファイルを持っています。

python myscript.py 

しかし、私はそれを使用して呼び出します:私は使用してスクリプトを呼び出すとき

すべてが正常に動作します

twistd -y myscript.py 

それは私に、このエラーを与える:

from parser import Parser 
exceptions.ImportError: cannot import name Parser 

何午前私は行方不明?

答えて

1

モジュールとしてインポートするためのソースファイルは、Pythonのインポートパスで検出可能である必要があります。 pythonは、スクリプトパスを含むディレクトリをインポートパスに追加します。 はmyscript.pyと同じディレクトリにあるため、parserをインポートできます。 twistd(これは2016年のあるバージョンから始まると思いますが)ではなくとなります(このパスは、PATH環境変数に.というようなセキュリティ上の問題があると考えられます)。

あなたはいくつかの選択肢があります。

ベストオプション:プロジェクト用のsetup.pyを作成します。 virtualenvを作成します。 pip install -e ...でプロジェクトをインストールします。

Mediocreオプション:ソースファイルを含むディレクトリをPYTHONPATH環境変数に追加します。

関連する問題