#python #anaconda #conda #checksum #mismatch
#python #анаконда #конда #контрольная сумма #несоответствие
Вопрос:
Я пытаюсь использовать Miniconda3 для создания среды и установки в нее пакетов.
Вот мой текущий процесс:
- Открыть приглашение Miniconda3
- conda create —name env
- conda активирует env
- conda устанавливает h5py
Вот результат:
Downloading and Extracting Packages
hdf5-1.10.4 | 7.9 MB | | 0% etc....
ChecksumMismatchError: Conda detected a mismatch between the expected content and downloaded content
for url 'https://repo.anaconda.com/pkgs/main/win-64/hdf5-1.10.4-h7ebc959_0.conda'.
download saved to: C:UsersuserMiniconda3pkgshdf5-1.10.4-h7ebc959_0.conda
expected sha256: aac32deb60d5cff5640ca39a772d8bb937a334a7a0f37e91235c9a4de9b925f0
actual sha256: c80bea1ea77e281271818e00a0953926129f9edbe44a46fa287570d34a3d0084
Мои мысли:
- Ссылка в выводе работает полностью нормально, я могу получить доступ к этой странице, а затем установить этот файл локально. Моя первоначальная проблема заключалась в том, что я использую корпоративный прокси, но раньше это работало нормально, и тот факт, что я могу использовать точно такой же прокси для загрузки файлов из моего веб-браузера, предполагает, что это не основная причина.
- Я настроил свой прокси, используя следующий файл .condarc:
--- # .condarc file for configuring miniconda
proxy_servers:
http: http://user:password@proxy.internet.company.local:8080
https: https://user:password@proxy.internet.company.local:8080
ssl_verify: False
...
- Ни один из загруженных файлов не превышает 0%
- «Фактический sha256» неоднократно изменяется при каждой попытке, почему это должно быть?
- Есть ли способ просто отключить контрольную сумму sha256, если я знаю, что эти пакеты безопасны?
Это вызывает огромную задержку в моей работе, поэтому любая помощь будет очень признательна, даже комментарии любого, у кого похожие проблемы.
Комментарии:
1. Можете ли вы загрузить файл из браузера? Есть ли у него
aac32de...
хэш? Вы можете проверить его хэш с помощьюshasum -a 256 hdf5-1.10.4-h7ebc959_0.conda
2. @user13044086, я проверил хэш с помощью: pip hash «C:UsersuserDownloadshdf5-1.10.4-h7ebc959_0.conda «. Я получил следующий результат: —hash=sha256:aac32deb60d5cff5640ca39a772d8bb937a334a7a0f37e91235c9a4de9b925f0. Значит, хэш правильный, нет?
3. Да, это правильный вариант. В этом случае вы можете сравнить файлы
C:UsersuserMiniconda3pkgshdf5-1.10.4-h7ebc959_0.conda
иC:UsersuserDownloadshdf5-1.10.4-h7ebc959_0.conda
выяснить, что меняется, когда conda загружает этот файл. формат файла .conda — это просто архив .tar.bz2, поэтому вам нужно сначала распаковать его, чтобы выяснить, какие файлы внутри него изменились4. Я подозреваю, что вы неправильно проходите через прокси-сервер, и в итоге вы хэшируете ответ об ошибке с сервера, который, если он содержит временную метку, объясняет изменение хэша. То есть, я не думаю, что проверка загрузки напрямую вам чем-то поможет. Я бы попробовал запустить команду с флагами детализации (
-v
), чтобы узнать, полезна ли отладочная информация, например,conda install -vvv h5py
.5. @merv приветствует merv также не знал, что вы можете получить более подробный вывод с помощью conda. Многое дано, но я опасаюсь публиковать что-либо, что может быть чувствительным к моей компании. Однако основные строки, которые, по-видимому, являются причиной проблемы, приведены ниже: URL-адрес ОТЛАДКИ lib3.connectionpool:_new_conn(939): Запуск нового HTTPS-соединения (1): block.opendns.com: 443. Этот URL-адрес приводит меня на страницу, заблокированную службой безопасности моей компании, так что это, очевидно, проблема. Однако я озадачен тем, как я смогу найти URL-адрес, к которому он пытался получить доступ, который вызывает это.