Вопрос или проблема
Я создал conda окружение следующим образом:
$ conda create -n Env_py38_torch241_CUDA118 python=3.8
Затем я установил некоторые зависимости следующим образом:
$ conda activate Env_py38_torch241_CUDA118
$ conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
Но при выполнении скрипта make.sh
для одного из репозиториев git возникает ошибка:
error: [Errno 2] Нет такого файла или каталога: '/home/user/miniconda3/envs/Env_py38_torch241_CUDA118/bin/nvcc'
Похоже, что nvcc просто отсутствует, так как следующая команда возвращает только путь к run_nvcc.cmake
, но не фактический путь к nvcc:
$ find ~/miniconda3/envs/EnvMOT_py38_torch241_CUDA118/ -name *nvcc*
/home/user/miniconda3/envs/EnvMOT_py38_torch241_CUDA118/lib/python3.8/site-packages/torch/share/cmake/Caffe2/Modules_CUDA_fix/upstream/FindCUDA/run_nvcc.cmake
Почему nvcc не установлен в моем conda окружении и как его установить?
Ответ или решение
Если вы получаете ошибку о том, что командный файл nvcc
не найден, несмотря на то что CUDA установлена, скорее всего, проблема заключается в том, что утилита nvcc
, которая является частью NVIDIA CUDA Toolkit, не включена в ваш conda-окружение. Инструкции для решения этой проблемы представлены ниже.
Шаги для установки nvcc
в вашем conda окружении:
-
Проверьте установленный CUDA Toolkit:
Убедитесь, что вы установили необходимую версию CUDA Toolkit. Вы можете установить его через conda с помощью следующей команды:conda install cudatoolkit=11.8
-
Установите
cudatoolkit-dev
:
Кромеcudatoolkit
, может потребоваться установка специального пакетаcudatoolkit-dev
, который содержит необходимые разработки инструменты, включаяnvcc
. Попробуйте выполнить:conda install cudatoolkit-dev -c conda-forge
-
Установка CUDA через пакет NVIDIA:
Если вышеуказанные команды не сработали, попробуйте альтернативный способ установки CUDA toolkit напрямую из репозита NVIDIA:conda install -c nvidia cudatoolkit=11.8
Обратите внимание, что в зависимости от конфигурации вашей системы, возможно, вам также потребуется установить драйвера NVIDIA, если они еще не установлены.
-
Проверьте установку:
После установки попробуйте снова проверить наличиеnvcc
:nvcc --version
Если он установлен корректно, вы должны увидеть информацию о версии CUDA.
-
Настройка PATH:
Если вы все же не можете найтиnvcc
, убедитесь, что ваш путь к исполняемым файлам (PATH) настроен правильно. Добавьте следующий путь в файл конфигурации оболочки (например,.bashrc
или.bash_profile
):export PATH="/home/user/miniconda3/envs/Env_py38_torch241_CUDA118/bin:$PATH"
Затем выполните команду
source ~/.bashrc
или перезапустите терминал. -
Создание symlink:
Еслиnvcc
установлен где-то еще на вашей системе и вы хотите использовать его в вашем окружении, вы можете создать символическую ссылку:ln -s /usr/local/cuda/bin/nvcc ~/miniconda3/envs/Env_py38_torch241_CUDA118/bin/nvcc
Убедитесь, что путь
/usr/local/cuda/bin/nvcc
правильный.
Заключение
После выполнения всех этих шагов вы должны иметь возможность использовать nvcc
в вашем conda окружении без ошибок. Если проблема сохранится, возможно, стоит рассмотреть полную переустановку вашего окружения или изучить документацию по установке CUDA для вашей ОС и версии Python.