setuptools, используйте пакет в локальной системе вместо того, чтобы получать его из PyPI - PullRequest
0 голосов
/ 16 мая 2018

Существует пакет 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?

Шаги для воспроизведения:

  1. pip installпортфель (использование или не использование virtualenv не имеет значения)

  2. git clone https://github.com/pybee/toga.git

  3. cd ~ / toga / src / core;Установка sudo pip -e.

  4. cd ~ / toga / src / android /;sudo pip install -e.

  5. cd ~ / toga / examples / tutorial0

  6. python setup.py android

  7. Вывод покажет, что загружена более старая версия toga-android, хотя она уже была установлена ​​с pip.

...