python setup.py при установке игнорирует install_requires - PullRequest
1 голос
/ 24 февраля 2020

Я не могу установить локальные пакеты, используя setup.py

Вот структура проекта:

my-project/
  lib/
     local1/
        local1.1.0.whl
        index.html
     local2/
        local2.1.0.whl
        index.html
  setup.py

setup.py

import os

from setuptools import setup

setup(name='my project',
      version='1.0',
      description='my project',
      install_requires=[
        'lxml >= 4.3.0',
        'local1 @ file://localhost/{}/lib/local1/local1.1.0.whl'.format(os.getcwd()),
        'local2 @ file://localhost/{}/lib/local2/local2.2.0.whl'.format(os.getcwd()),
      ]
      )

Я могу установить, если я помещу зависимости в файл requirements.txt и использую pip install -r requirements.txt --extra-index-url lib/, но я хочу знать, почему невозможно сделать python setup.py install или я что-то упустил.

Это ошибка, которую я получаю -

No local packages or working download links found for local2@ file://localhost//Users/anusha/Documents/my-project/lib/local2/local2.1.0.whl
error: Could not find suitable distribution for Requirement.parse('local2@ file://localhost//Users/anusha/Documents/my-project/lib/local2/local2.1.0.whl')

При поиске я обнаружил эту проблему на github , но не дает мне никаких указаний или решения относительно того, как она работает.

Любая помощь приветствуется, заранее спасибо!

1 Ответ

1 голос
/ 24 февраля 2020

Обратите внимание на комментарий от pganssle в обсуждении "Сбой установки Setuptools с URL-адресами PEP508" в setuptools * средства отслеживания проблем :

Наша политика на сегодняшний день заключается в том, что если использование pip install решит вашу проблему, вы должны использовать pip install, а мы не исправим проблему.

Я считаю, что это соответствует текущая эволюция упаковочных инструментов и технологий в сообществе Python. Так что, если ваш setuptools проект с этой нотацией требований может быть установлен через pip install . и pip install --editable ., то не смотрите дальше.

...