Я хотел бы использовать distutils
(setup.py
), чтобы иметь возможность устанавливать пакет python (из локального репозитория), для которого требуется другой пакет из другого локального репозитория. Так как я не хватает хорошей документации команды setup
(я нашел только некоторые примеры here и here, запутываемый setup
-терминами extras_require
, install_require
и dependency_links
найденных here и here), кто-нибудь есть полный setup.py
файл, который показывает, как это может быть обрабатывается, то есть, что distutils
обрабатывает установку пакета, найденного в каком-то репозитории SVN, когда основной пакет, который я устанавливаю прямо сейчас, требует этого?Как установить setup.py установить другой модуль
Более подробное объяснение: У меня есть два локальных хранилища svn (или git) basicmodule
и extendedmodule
. Теперь я вывожу extendedmodule
и запустил python setup.py install
. Этот файл setup.py
знает, что extendedmodule
требует basicmodule
и автоматически загружает его из репозитория и устанавливает его (если он еще не установлен). Как я могу решить это с помощью setup.py
? Или, может быть, есть другой, лучший способ сделать это?
EDIT: Followup вопрос
На основании ответа Томом я пытался использовать setup.py
следующим образом:
from setuptools import setup
setup(
name = "extralibs",
version = "0.0.2",
description = ("Some extra libs."),
packages=['extralib'],
install_requires = "basiclib==1.9dev-r1234",
dependency_links = ["https://source.company.xy/svn/MainDir/SVNDir/basiclib/[email protected]#egg=basiclib-1.9dev-r1234"]
)
При попытке установить это как обычный пользователь, я получаю следующую ошибку:
error: Can't download https://source.company.xy/svn/MainDir/SVNDir/basiclib/[email protected]: 401 Authorization Required
Но когда я нормальный svn
проверки с той же самой ссылкой он работает:
svn co https://source.company.xy/svn/MainDir/SVNDir/basiclib/[email protected]
Любое предложение, как решить эту проблему без изменения конфигурации репозитория SVN?