1

sys.path1) 存在しない、2) インポート (特に ) で問題を引き起こす追加のアイテムがいくつか見られNoseます。

foo基本的に、複数のプロジェクトで使用するパッケージを作成しました (これを と呼びましょう)。現在取り組んでいるプロジェクトでは、すべてfooを問題なくインポートできますが、実行するNoseとインポート エラーが発生します。

E
======================================================================
ERROR: Failure: ImportError (No module named foo)
----------------------------------------------------------------------
Traceback (most recent call last):
  ...
  File "/path/to/my-project/file.py", line 6, in <module>
    from foo import *
ImportError: No module named foo

----------------------------------------------------------------------
Ran 1 test in 0.004s

FAILED (errors=1)

パスを吐き出すと、次のようになります。

["/path/to/my-project/foo", 
 "/path/to/my-project/foo", 
 ..., 
 "/usr/virtualenvs/my-project/lib/python2.6/site-packages/foo-py2.6.egg", 
 ...]

/path/to/my-project/foo存在しません。最初の 2 つのエントリをポップすると、sys.pathすべて正常に動作します。

リストに含まれるべき唯一のものはvirtualenvにインストールされているのに、なぜこれらのアイテムが表示されるのか、誰かが私に説明できますか?

また、今後このようなことが起こらないようにするにはどうすればよいですか? それはで何か関係がありsetup.pyますfooか?

4

2 に答える 2

0

.pthパス上の任意の場所でファイルを探します。これらのファイル (例: ) にeasy-install.pthは、追加の sys.path エントリ (1 行に 1 つ) を含めることができます。

于 2010-05-26T20:26:24.293 に答える
0

に何かあり$PYTHONPATHますか?これにより、virtualenv 環境内であっても sys.path にエントリが配置されます。

bash で試しunset PYTHONPATHて (bash を使用している場合)、内容を確認してくださいsys.path

于 2010-05-26T16:01:31.900 に答える