# Conda使用筆記 ###### tags: `機器學習準備` ## 常用指令 * 更新Conda:`conda update conda` * 建立環境:`conda create --name <env_name> python=<python_version>` * 查看有甚麼環境:`conda env list` * 環境啟動:`conda activate <env_name>` * 環境關閉:`conda deactivate` * 環境中安裝套件: * 使用Conda:`conda install <package_name>` * 使用Pip: `<conda_pip_source> pip install <package_name>` * Ref.: https://stackoverflow.com/questions/41060382/using-pip-to-install-packages-to-anaconda-environment * 輸出conda環境:`conda env export > environment.yml` * 由enviroment.yml建立conda環境:`conda env create -f /path/to/environment.yml` ## 強烈推薦技巧:自行維護版本號 建議自行維護一份enviroment.yml,方便在git版控的時候能清楚自己版本號。步驟如下,以我設定的hazard環境而言: 1. 我知道我需要以下套件,所以先寫下來,並註記版本號。如果需要用pip的特別標示pip出來。建立enviroment.yml包含以下內容,hazard是我取的名字,你可以隨便改你喜歡的名字: ``` name: hazard channels: - anaconda - pytorch - conda-forge - defaults dependencies: - ipython=8.5.0 - pip=22.2.2 - python=3.10.5 - cudatoolkit=11.6.0 - matplotlib=3.6.0 - numpy=1.23.3 - pytorch=1.12.1 - torchvision=0.13.1 - jupyter=1.0.0 - pandas=1.5.0 - scipy=1.9.1 - torchinfo=1.7.1 - pip: - timm==0.6.11 ``` 2. 從前述檔案建立環境:`conda env create --file environment.yml --force` * --file 後面為environment.yml的檔案路徑 * 建立後一樣用`conda activate hazard`就可以啟動 4. 我突然發現我還需要torchviz,所以將environment.yml更改如下: ``` name: hazard channels: - anaconda - pytorch - conda-forge - defaults dependencies: - ipython=8.5.0 - pip=22.2.2 - python=3.10.5 - cudatoolkit=11.6.0 - matplotlib=3.6.0 - numpy=1.23.3 - pytorch=1.12.1 - torchvision=0.13.1 - jupyter=1.0.0 - pandas=1.5.0 - scipy=1.9.1 - torchinfo=1.7.1 - pip: - timm==0.6.11 - torchviz==0.0.2 ``` 5. 安裝並更新我們的環境: * 切換到你的環境,我的叫做hazard所以`conda activate hazard` * `conda env update --file environment.yml --prune`就完成了! * 不錯的環境版本維護介紹:https://carpentries-incubator.github.io/introduction-to-conda-for-data-scientists/04-sharing-environments/index.html ## Troubleshooting * CondaHTTPError: HTTP None None for url ... * 輸入`conda config --set ssl_verify no` * Ref.: https://stackoverflow.com/questions/42563757/conda-update-condahttperror-http-none