Я вижу некоторые дополнительные элементы в sys.path
, которые 1) не существуют и 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
?