У меня возникла проблема с установкой пользовательских модулей из другого репозитория в это имя проекта.Это все хорошо, когда я использую PyCharm.Итак, как я могу установить пользовательские модули из другого репозитория, используя ключи ssh deploy в Docker?
Структура проекта:
project_name
|-core
| |-models
| | |- __init__.py
| | |- ...py
| |-start.py
| |-Dockerfiles
| | |- Dockerfile
| | |- id_rsa
| | |- id_rsa.pub
| | |- ssh.config
| |-start.py
|- config.py
|- setup.py
Setup.py
from setuptools import setup, find_packages
from os.path import join, dirname
setup(
name='core',
version='0.1',
url='https://gitlab.ru/username/repo_name.git',
install_requires=['custom_module>=0.1',
'sqlalchemy>=1.2.2',
'redis>=2.10.0',
'hiredis>=0.2',
'python-socketio',
'aioredis',
'psycopg2',
'alembic',
'flask',
'flask-admin',
'flask_basicauth'],
dependency_links=['git+ssh://git@gitlab.ru/username/custom_module.git'],
include_package_data=True,
packages=find_packages(),
entry_points={
'console_scripts':
['core = core.start']
}
)
Dockerfile:
FROM python:3.6
RUN mkdir -p /var/project_name
RUN mkdir -p ~/.ssh
RUN apt install -y openssh-client git
COPY . /var/project_name/
COPY Dockerfiles/id_rsa /var/HEAVEN-CORE/id_rsa
COPY Dockerfiles/id_rsa.pub /var/HEAVEN-CORE/id_rsa.pub
COPY Dockerfiles/ssh.config /var/HEAVEN-CORE/ssh.config
RUN cat /var/project_name/id_rsa > ~/.ssh/id_rsa
RUN cat /var/project_name/id_rsa.pub > ~/.ssh/id_rsa.pub
RUN cat /var/project_name/ssh.config > ~/.ssh/config
RUN eval `ssh-agent -s` && chmod 0600 ~/.ssh/id_rsa && ssh-add
~/.ssh/id_rsa && cd /var/project_name && pip3 install
git+ssh://git@gitlab.ru/username/repo_name.git
ENV PYTHONPATH $PYTHONPATH:/var/project_name
WORKDIR /var/project_name
У меня есть исключение в терминале:
Collecting git+ssh://git@gitlab.ru/username/repo_name.git
Cloning ssh://git@gitlab.ru/username/repo_name.git to
/tmp/pip-req-build-0m86uyex
Warning: Permanently added 'gitlab.ru,62.76.114.78'
(ECDSA) to the list of known hosts.
Collecting git+ssh://git@gitlab.ru/username/custom_module.git
Cloning ssh://git@gitlab.ru/username/custom_module.git to
/tmp/pip-req-build-zu7jupsg
Collecting custom_module>=0.1 (from core==0.1)
Could not find a version that satisfies the requirement
custom_module>=0.1 (from core==0.1) (from versions: )
No matching distribution found for custom_module>=0.1 (from core==0.1)
ERROR: Service 'core' failed to build: The command '/bin/sh -c eval
`ssh-agent -s` && chmod 0600 ~/.ssh/id_rsa && ssh-add ~/.ssh/id_rsa
&& cd /var/project_name && pip3 install
git+ssh://git@gitlab.ru/username/repo_name.git' returned a
non-zero code: 1
Это неправильно, когда я хочу использовать pip install git + ssh: //git@gitlab.ru: username / repo_name.Git, как в Gitlab SSH URL.Ошибка: не удалось прочитать из удаленного хранилища.