PyTorch: CondaVerificationError During PyTorch and CUDA Toolkit Installation
This error occurs when Python packages downloaded by Conda fail checksum or signature verification due to interrupted downloads. Clear the Conda cache with conda clean --all and reinstall PyTorch.
Root Cause Analysis
This error occurs when the Conda package manager downloads PyTorch binaries, CUDA toolkits, or dependent libraries (such as cudatoolkit, pytorch-cuda, or torchaudio), but fails during safety verification before unpacking.
Root Cause 1: Interrupted or Incomplete Package Downloads
PyTorch CUDA packages are massive (often exceeding 2GB to 4GB per package). If a network timeout, proxy disconnection, or disk I/O stall interrupts the download, the cached .conda or .tar.bz2 archive in ~/miniconda3/pkgs/ becomes corrupted. When Conda computes the SHA-256 hash against the channel metadata, the verification fails with CondaVerificationError.
Root Cause 2: Antivirus or Security Scanner Locking Package Archives
On Windows and corporate enterprise environments, real-time endpoint security scanners (Windows Defender, CrowdStrike, SentinelOne) inspect and lock temporary downloaded archive files while Conda attempts to extract them.
Root Cause 3: Stale or Inconsistent Channel Metadata
Mixing packages from different channels (pytorch, nvidia, conda-forge, defaults) can cause metadata conflicts where version checksums don't match the repository index.
Root Cause 4: Insufficient Disk Space in Temporary Directories
If the partition hosting the temporary directory (/tmp or %TEMP%) runs out of storage during decompression, Conda aborts with partial file corruption.
Reproduction Code (MCVE)
# Simulating Conda package verification checksum failure
class MockCondaPackageVerifier:
def verify_package(self, expected_sha256: str, actual_sha256: str):
if expected_sha256 != actual_sha256:
raise OSError(
"CondaVerificationError: The package for pytorch located at "
"C:\Users\user\miniconda3\pkgs\pytorch-2.2.0-py3.10_cuda12.1.tar.bz2 "
"failed verification (checksum mismatch). Package file is corrupted."
)
verifier = MockCondaPackageVerifier()
verifier.verify_package(
expected_sha256="e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
actual_sha256="corrupted_partial_download_hash_value"
)
Solution 1: Purge Conda Cache and Reinstall PyTorch
Run conda clean --all to delete incomplete downloads and cached tarballs, then rerun the official PyTorch installation command.
# Solution 1: Terminal commands to resolve Conda verification failure
cleanup_commands = [
"conda clean --all --yes",
"conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia --yes"
]
print("Recommended cleanup sequence:")
for cmd in cleanup_commands:
print(f" $ {cmd}")
assert len(cleanup_commands) == 2
Solution 2: Use pip as an Alternative Wheel Installer
If Conda channels continue experiencing network verification issues, install pre-built PyTorch wheels via pip.
# Solution 2: Alternative pip install command using official PyTorch index
pip_cmd = "pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121"
print("Alternative installation command:")
print(f" $ {pip_cmd}")
assert "download.pytorch.org" in pip_cmd
Avoid manually deleting files inside the pkgs directory while Conda is running, as this can corrupt the Conda environment registry database (conda-meta). Always use the official conda clean -a -y command.
Note de reproductibilité : Cette erreur dépend de la stabilité de la connexion réseau, des politiques de pare-feu d'entreprise, de la configuration du cache Conda et de l'espace disque disponible.
Contrast CondaVerificationError with ResolvePackageNotFound: ResolvePackageNotFound means no package matching your constraints exists on the channel; CondaVerificationError means the package exists and was downloaded, but the downloaded file is corrupted or tampered.