setuptools ищет ложную зависимость - PullRequest
2 голосов
/ 10 июня 2011

У меня странная проблема, когда я пытаюсь установить пакет python (используя setuptools) в системе Linux, и он пытается установить pywin32 в качестве зависимости.Это только происходит, если я запускаю его из определенного каталога.Если я перенесу все дерево в другой каталог, он установится нормально.

Мой setup.py ссылается на pywin32 для платформ win32, но даже когда я его удаляю, это не имеет значения.Я также удалил все остальные требования без каких-либо изменений в поведении.В моем файле setup.py нет ничего, кроме инициализации setuptools и вызова setup ().

У меня активирован virtualenv, и я попытался переключиться на новый чистый virtualenv без изменения поведения.Когда я запускаю setup.py develop:

python setup.py develop
running develop
running egg_info
deleting foo.egg-info/requires.txt
writing foo.egg-info/PKG-INFO
writing top-level names to foo.egg-info/top_level.txt
writing dependency_links to foo.egg-info/dependency_links.txt
reading manifest file 'foo.egg-info/SOURCES.txt'
writing manifest file 'foo.egg-info/SOURCES.txt'
running build_ext
Creating /home/user/foo-env2/lib/python2.7/site-packages/foo.egg-link (link to .)
foo 1.0 is already the active version in easy-install.pth

Installed /home/user/magicdirectory/magic
Processing dependencies for foo==1.0
Searching for pywin32
Reading http://pypi.python.org/simple/pywin32/
Reading http://sf.net/projects/pywin32

, я вижу следующее. Возможно, в какой-то момент я случайно попытался установить яйцо win32 этого пакета, но это было в исходной виртуальной среде, и я могуНе могу понять, что он мог сделать, чтобы вызвать это.

Как мне отладить это?Где еще может программа установки искать зависимости?

ОБНОВЛЕНИЕ : Похоже, что значение имеет не имя каталога, а его местонахождение.Если я переместу каталог пакета вверх на один уровень, он установится нормально.Указанная директория здесь была удалена и воссоздана несколько раз, поэтому, похоже, она не связана с чем-либо внутри директории.

1 Ответ

0 голосов
/ 20 августа 2011

Попробуйте удалить * .egg-info в каталоге distр разработчик. Если это не сработает, попробуйте начать с новой, нетронутой проверки вашего кода без каких-либо других артефактов setuptools / dist и посмотрите, воспроизводит ли это проблему. Если это не так, то вы знаете, что это один из артефактов setuptools / dist, который нужно просто очистить.

...