Добавить пользовательский файл колеса в качестве зависимости в setup.py? - PullRequest
0 голосов
/ 25 мая 2018

Я работаю над проектом, в котором одна из зависимостей на самом деле является .whl, которая не относится к pypi (то есть мне пришлось скачать колесо напрямую от автора и pip установить его напрямую).В моем файле setup.py есть способ сделать что-то вроде:

install_requires=[
    'library.whl',
    'matplotlib==2.2.2',
    'numpy==1.14.2',
    'opencv-python==3.4.0.12',
    'Pillow==5.1.0',
    'PyYAML==3.12',
],

Или что-то в этом духе, потому что это не на pypi (и я бы просто добавил library.whl в MANIFEST.inфайл или что-то)?Если нет, есть ли рекомендуемый способ сделать это для такого типа ситуации?В идеале я бы хотел решить эту проблему в файле setup.py, чтобы я мог легко установить свою библиотеку с помощью одного pip install

Ответы [ 2 ]

0 голосов
/ 18 июля 2019

Как указано в комментарии, используйте этот ответ для получения дополнительной информации.

TL; DR:

setup(
    ...
    install_requires=[
         'repo @ https://github.com/user/archive/master.zip#egg=repo-1.0.0'],
    ...
)

УСТАРЕЛО:

В соответствии с документами , вам необходимо указать dependency_links в аргументах установки:

DEPRECATED
0 голосов
/ 25 мая 2018

Одной из альтернатив является использование файлов требований pip для установки ваших зависимостей.В файле требований указывается каждая библиотека и требуемая версия.Вы можете использовать URL, чтобы указать на ваше колесо.

Пример:

http://host/path/to/library.whl
matplotlib==2.2.2
numpy==1.14.2
opencv-python==3.4.0.12
Pillow==5.1.0
PyYAML==3.12

И просто укажите «библиотека» для вашего setup.py файла.

Редактировать

Лучше всего иметь дополнительный сервер PyPi, такой как DevPi .И измените свой конфигурационный файл pip , чтобы добавить этот репозиторий.Конечно, ваш library.whl должен быть помещен на этот частный сервер.

Пример pip.conf:

[global]
index-url = http://yourserver/group/user/

[install]
trusted-host = yourserver

[download]
trusted-host = yourserver

[list]
format = columns

Вам также может понадобиться настроить файл .pypirc:

[distutils]
index-servers = pypi
                private

[pypi]
repository: http://pypi.python.org/pypi
username:your-username
password:your-password

[private]
repository: http://yourserver
username:your-login
password:your-password

Таким образом, вы можете запустить свои релизыВаш частный сервер:

python setup.py bdist_wheel upload -r private register -r private
...