(コード)__import__
を使用して直接または間接的に実行する場合importlib.import_module
python setup.py test
オブジェクトが何かを実行できないことを示す手順TypeError
または同様のエラー。NoneType
いくつかの調査により、呼び出しのNone
直後に表示されることが明らかになりimportlib
ました。モジュールで定義されたすべてのグローバルにこの値が割り当てられました。テストを実行していない場合、これは発生しません。さらに、別のディレクトリからインポートしている場合、これは発生しません(モジュールのファイルであるファイルpowerline.lib.vcs.git
からのようなモジュールをインポートしている間、この動作は見られますが、空の状態でインポートしている場合は見られません)。__init__.py
powerline.lib.vcs
powerline.lib.vcs_modules
__init__.py
テストは、別のディレクトリにあるテストスイートsetuptools
を使用して実行されます。Pythonのバージョンは(ebuildリビジョンの略)です。エラー出力はここで見ることができます。unittest
tests
2.7.3-r2
-r2
この動作を修正する方法は?
さらに奇妙なデータ:diff -r --brief ~/.vam/powerline-{old,new}
変更を返さず(古い=エラー、新しい=再クローン化、エラーなし)diff -u <(ls -laR) <(cd ../powerline-new && ls -laR)
、一部のディレクトリ変更時間の変更のみを報告する2つのディレクトリを作成できましたが、powerline-oldの場合は失敗し、powerline-newの場合は失敗しますそうではありません。ディレクトリの場所を交換しても、結果は変わりません。cp -r
両方のディレクトリを他の場所にコピーしたりtar c
、を実行したりすることもありませんtar x
。
ああ、travis仮想マシンの新しいクローンもこの奇妙なエラーを示しています。
これはどういう意味ですか?これらのディレクトリを区別するために、どこに状態を保持できますか?