Обычно я устанавливаю репозиторий Python из Github, используя (например):
pip install git+git://github.com/Artory/drf-hal-json@master
И, соответственно, где-то в моем файле «requirements.txt» есть git+git://github.com/Artory/drf-hal-json@master
.
Сегодня это не удалось. Полная трассировка приведена ниже, но соответствующая часть:
The unauthenticated git protocol on port 9418 is no longer supported.
Спасибо Майкрософт. Трассировка указывает на эта ссылка об обновлении. Большая часть страницы по ссылке говорит о том, что обновление вряд ли затронет многих людей (еще раз спасибо Microsoft), а остальная часть связана с криптографией, которую я слишком нуб, чтобы понять. Раздел под названием «git://» просто гласит:
On the Git protocol side, unencrypted git:// offers no integrity or authentication, making it subject to tampering. We expect very few people are still using this protocol, especially given that you can’t push (it’s read-only on GitHub). We’ll be disabling support for this protocol.
Это не помогает мне понять, как обновить мой файл requirements.txt, чтобы он снова заработал. Можете ли вы сказать мне, как обновить мои требования. txt, чтобы он снова работал? Полная трассировка ниже:
(venv) neil~/Documents/Code/web_app$ pip install git+git://github.com/Artory/drf-hal-json@master
Collecting git+git://github.com/Artory/drf-hal-json@master
Cloning git://github.com/Artory/drf-hal-json (to revision master) to /tmp/pip-req-build-zowfe130
Running command git clone -q git://github.com/Artory/drf-hal-json /tmp/pip-req-build-zowfe130
fatal: remote error:
The unauthenticated git protocol on port 9418 is no longer supported.
Please see https://github.blog/2021-09-01-improving-git-protocol-security-github/ for more information.
WARNING: Discarding git+git://github.com/Artory/drf-hal-json@master. Command errored out with exit status 128: git clone -q git://github.com/Artory/drf-hal-json /tmp/pip-req-build-zowfe130 Check the logs for full command output.
ERROR: Command errored out with exit status 128: git clone -q git://github.com/Artory/drf-hal-json /tmp/pip-req-build-zowfe130 Check the logs for full command output.
WARNING: You are using pip version 21.2.4; however, version 22.0.4 is available.
You should consider upgrading via the '/home/neil/Documents/Code/web_app/venv/bin/python -m pip install --upgrade pip' command.
@DeepSpace, потому что это не тот репозиторий. Это другая вилка.
Тем более это был просто пример. У меня установлено несколько других, которые не все были опубликованы в pypi.
В URL-адресе, который вы даете pip
, git+git
говорит о доступе к репозиторию Git (первый git
) по протоколу git
без аутентификации (второй git
). Предполагая, что вы хотите и дальше использовать здесь анонимный доступ, вы можете просто переписать команду, чтобы вместо этого использовать git+https
, которая получает доступ к репозиторию Git по защищенному протоколу HTTPS.
Таким образом, ваша команда будет выглядеть так:
$ pip install git+https://github.com/Artory/drf-hal-json@master
Я только что проверил на виртуальной машине, и это работает. Если у вас есть другие такие URL-адреса, изменение таким же образом должно быть эффективным.
Ну почему бы просто не установить его из
pypi
, что все равно безопаснее?