Существует пакет Python с открытым исходным кодом, над которым я хочу работать (toga-android).Чтобы протестировать код, который я пишу, я должен быть в состоянии построить свой собственный проект, в котором пакет с открытым исходным кодом указан как зависимость.Мой проект должен быть собран с помощью setuptools, поэтому мне нужны setuptools для выполнения зависимости с использованием моей версии пакета, а не для получения пакета из PyPI.Проблема в том, что setuptools всегда получает пакет из PyPI.
Всякий раз, когда я собираюсь с помощью setuptools, я вижу:
Сбор тога-андроида == 0.3.0.dev8
Скачивание https://files.pythonhosted.org/packages/92/fe/348a39e2e0bbcac2d3ed511dd2b62943b488e7dcb8097c437416caf1c179/toga_android-0.3.0.dev8-py3-none-any.whl
или
Сбор тога-андроида == 0.3.0.dev8
Использование кэшированного https://files.pythonhosted.org/packages/92/fe/348a39e2e0bbcac2d3ed511dd2b62943b488e7dcb8097c437416caf1c179/toga_android-0.3.0.dev8-py3-none-any.whl
Очевидно, что он получает пакет из PyPI или использует из него кэшированную версию.
Я установил свою версию, используя pip install -e .
, и это не имеет никакого эффекта.Я также попытался включить источник пакета в каталог моего проекта с помощью setup.py.Очевидно, что setuptools включает этот код, потому что синтаксические ошибки приводят к сбою сборки, но он не распознает, что может удовлетворить зависимость.Он все еще получает пакет из PyPI, и любые модули, импортированные из пакета, являются версиями PyPI.
Как использовать пользовательскую версию пакета, также входящего в PyPI, как зависимость setuptools?
Шаги для воспроизведения:
pip installпортфель (использование или не использование virtualenv не имеет значения)
git clone https://github.com/pybee/toga.git
cd ~ / toga / src / core;Установка sudo pip -e.
cd ~ / toga / src / android /;sudo pip install -e.
cd ~ / toga / examples / tutorial0
python setup.py android
Вывод покажет, что загружена более старая версия toga-android, хотя она уже была установлена с pip.