Заморозка требований к пипсам, NumPy и SciPy на OS X - PullRequest
4 голосов
/ 11 ноября 2010

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

Приложение зависит как от NumPy, так и от SciPy, поэтому мой файл требований к пипсам содержит:

numpy==1.5.0
scipy==0.8.0

Однако при запуске этого pip в новом virtualenv установка завершается с ошибкой:

File "/Users/x/virtualenv/deploy/src/scipy/setup.py", line 58, in svn_version
    from numpy.compat import asstr
ImportError: No module named numpy.compat
Complete output from command python setup.py egg_info:
Traceback (most recent call last):

Это происходит потому, что SciPy требует, чтобы NumPy был установлен до того, как будет построен. Поэтому, если я удаляю SciPy, а затем вручную добавляю SciPy (pip install scipy), это работает.

Как я могу решить эту проблему, если pip не устанавливается ни в каком конкретном порядке?

Ответы [ 2 ]

4 голосов
/ 12 ноября 2010

Не думаю, что ты можешь.Pip и setuptools не являются стандартными инструментами - мы стараемся поддерживать их по доброй воле, но они хрупкие.В частности, поскольку scipy setup.py для запуска требуется numpy, он не может работать с аргументом install_requires.

1 голос
/ 18 января 2011

Я только что столкнулся с точно такой же проблемой!К счастью, последняя версия разработки pip устанавливает пакеты в том же порядке, в котором они перечислены в файле требований.

Я обновил эту команду (для этого требуется Mercurial , поскольку pip размещен на Bitbucket ):

pip install hg+https://bitbucket.org/ianb/pip
...