#python #pip #artifactory #pypi
Вопрос:
У меня есть локальный репозиторий Pypi с простой компоновкой по умолчанию. Ему предоставлен анонимный доступ для чтения. Я использую этот репозиторий для хранения своих библиотек. После обновления с Artifactory 6.x до 7.x невозможно установить какую-либо библиотеку с помощью pip; она работала в 6.x. На pip install my-python-lib
:
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after
connection broken by 'ReadTimeoutError("HTTPConnectionPool(host='host', port=8081):
Read timed out. (read timeout=30.0)")': /artifactory/api/pypi/my-python-repo/simple/my-python-lib/
Could not install packages due to an EnvironmentError: HTTPConnectionPool(host='host', port=8081):
Max retries exceeded with url: /artifactory/api/pypi/my-python-repo/simple/my-python-lib/ (Caused by
ReadTimeoutError("HTTPConnectionPool(host='host', port=8081): Read timed out. (read timeout=30.0)"))
Установка дольше --default-timeout
также не работает.
Когда я пытаюсь открыть host/artifactory/api/pypi/my-python-repo/simple/my-python-lib/ в браузере, он возвращает следующую ошибку (примерно через 2 минуты):
502 Ошибка прокси-сервера Прокси-сервер получил неверный ответ от вышестоящего сервера. Прокси-сервер не смог обработать запрос GET /artifactory/api/pypi/my-python-repo/simple/my-python-lib/. Причина: Ошибка чтения с удаленного сервера
Комментарии:
1. Я нашел обходной путь для этой проблемы.
--default-timeout
опция устарела и в настоящее--timeout
время должна использоваться. Таким образом, я запускаю установку. Проблема, вероятно, связана с неправильной настройкой tomcat на искусственной машине. Буду продолжать копать и делиться результатами.
Ответ №1:
Похоже, что обратный прокси-сервер(Nginx или HTTPD) настроен поверх Artifactory, а Artifactory 7.x имеет другую конфигурацию по сравнению с Artifactory 6.x. Я бы рекомендовал обратиться к этой статье KB для получения дополнительной информации.
Комментарии:
1. Спасибо за ответ. Я думал о том же, поэтому я настроил свой pip.conf для обхода обратного прокси-сервера, используя прямой адрес для экземпляра artifactory. Это тоже не помогло.
2. что происходит, когда вы запускаете Art_IP:8082/artifactory/api/pypi/my-python-repo/простой/ через браузер? И поскольку вы обошли обратный прокси-сервер, являются ли ошибки одинаковыми или отображается другая ошибка?
3. С помощью браузера я могу открыть Art_IP:8082/artifactory/api/pypi/my-python-repo/просто/ мгновенно. Однако, если я перейду на Art_IP:8082/artifactory/api/pypi/my-python-repo/simple/my-python-lib/, я получу ошибку 502. Иногда он возвращает всю развернутую версию, но в большинстве случаев я получаю ошибку прокси 502.
4. следите за искусственным сервисом. журнал и искусственный запрос. войдите в систему и запустите Art_IP:8082/artifactory/api/pypi/my-python-repo/simple/my-python-lib/ и проверьте, не напечатано ли там что-нибудь, обычно там должна быть ошибка или предупреждение. Пожалуйста, поделитесь этим здесь