Я реализовал библиотеку python, которой нужен модуль python, существующий в pip
.
По разным причинам (не относящимся к этому вопросу) мне пришлось внести некоторые изменения в этот модуль, поэтому я клонировал его в своем личном репо на github
и использовал последний.
Чтобы установить модуль из моего личного репо, я сделал это в Dockerfile
библиотеки:
add deps.txt /deps.txt
run pip install -r /deps.txt
, где в deps.txt
у меня есть:
-e git://github.com/Private/my_module.git@dcdf3b2e7ffb7c4dd7831ea7795fabce0e4944rc#egg=my_module
Когда яПостройте контейнер докера. Я вижу из журнала, что устанавливаемый модуль - это тот, который я клонировал в своем репозитории на git.
Проблема заключается в том, что я пытаюсь установить свою библиотеку с setup.py
, который сделан следующим образом:
from setuptools import setup, find_packages
try: # for pip >= 10
from pip._internal.req import parse_requirements
except ImportError: # for pip <= 9.0.3
from pip.req import parse_requirements
install_reqs = parse_requirements('deps.txt', session='hack')
reqs = [str(ir.req) for ir in install_reqs]
setup(name='Library',
version='0.0.0',
...
packages=find_packages(),
install_requires=reqs,
zip_safe=False)
в этом случае модуль, который будетустановлен не мой, а существующий в pip
. Похоже, ему было наплевать на команду -e git://github.com/...
.