conda

conda。管理python环境的,很好用

安装

linux

  1. 下载地址找自己喜欢的,选sh后缀的。
  2. 安装
    1. 下载wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh 下载大概要4分钟
    2. 在放了conda文件的目录下输入命令安装(linux运行sh命令需要运行sh xxx.sh),一路回车,直到他要求输入yes,根据要求修改位置或者直接yes
    3. 退出conda
  3. 环境配置
    1. 修改/etc/profile(如果是服务器的话就不用这步)
      1. 先试一下能不能直接vim。如果能直接到step4
      2. 因为它是只读的,系统不让修改,换sudo vim /etc/profile
      3. 如果gedit说没有这个指令就sudo apt-get install gedit
      4. 在末尾添加环境变量export PATH=~/anaconda3/bin:$PATH(根据安装的位置来)
      5. 保存退出,gedit可能报错,直接保存
    2. 修改bashrc
      1. vim ~/.bashrc
      2. i,加上export PATH=~/anaconda3/bin:$PATH
      3. 保存:wq!退出
    3. 刷新环境变量
      1. source /etc/profile(同1)
      2. source ~/.bashrc

使用

创建环境

  1. conda create -n name python==xxx

删除环境

  1. conda env list列出环境列表
  2. conda remove --name env_name --all

conda install和pip install的区别

  1. conda install能装非python的库
  2. 这俩安装位置不一样

报错

  1. PackagesNotFoundError 1.conda config --append channels conda-forge
    1. conda install transforms3d试试
    2. 但是用forge之后下载其它的会比较慢,用完之后还是删除吧
      1. conda config --show channels 列出所有频道
      2. conda config --remove channels NOT_WANTED
    3. 刚看到一个更好的解决方案:conda config --append channels conda-forge这样默认的还是在第一个

base环境是什么 是 Conda 安装时自动创建的第一个环境

conda clean --all 这个会清理索引缓存、包缓存、日志等。

检查已经有的环境:conda env list

miniconda有什么区别? miniconda是什么?Anaconda是一个包含了conda、Python和超过150个科学包及其依赖项的科学Python发行版。它具有可视化图形用户界面(Anaconda Navigator)并且为了方便新手使用,预先包含了大量的库,如NumPy, Pandas, Scipy, Matplotlib等。

相较之下,Miniconda更加轻量级。它只包含了Python和Conda,但并没有预装其他的库。Miniconda用户需要手动安装他们需要的包,这使得Miniconda的环境更为简洁,可以根据实际需求来安装必要的包,避免不必要的存储占用。

已经安装了应该有的模块,在安装其他模块的时候报错 error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [17 lines of output] Traceback (most recent call last): File "/home/user/.local/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 389, in main() File "/home/user/.local/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 373, in main json_out["return_val"] = hook(**hook_input["kwargs"]) File "/home/user/.local/lib/python3.10/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel return hook(config_settings) File "/tmp/pip-build-env-shr2s24z/overlay/local/lib/python3.10/dist-packages/setuptools/build_meta.py", line 331, in get_requires_for_build_wheel return self._get_build_requires(config_settings, requirements=[]) File "/tmp/pip-build-env-shr2s24z/overlay/local/lib/python3.10/dist-packages/setuptools/build_meta.py", line 301, in _get_build_requires self.run_setup() File "/tmp/pip-build-env-shr2s24z/overlay/local/lib/python3.10/dist-packages/setuptools/build_meta.py", line 512, in run_setup super().run_setup(setup_script=setup_script) File "/tmp/pip-build-env-shr2s24z/overlay/local/lib/python3.10/dist-packages/setuptools/build_meta.py", line 317, in run_setup exec(code, locals()) File "", line 15, in ModuleNotFoundError: No module named 'torch' [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed to build 'pytorch3d' when getting requirements to build wheel

这种情况怎么办? https://www.cnblogs.com/hxpp/p/18670422 参考这一篇

pip install -v --disable-pip-version-check --no-build-isolation --no-cache-dir ./

遇到这个报错 conda create -n mskill python==3.9 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x73c9bd117230>, 'Connection to repo.anaconda.com timed out. (connect timeout=9.15)')': /pkgs/r/terms.json

Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x73c9bd123750>, 'Connection to repo.anaconda.com timed out. (connect timeout=9.15)')': /pkgs/r/terms.json

Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ConnectTimeoutError(<urllib3.connection.HTTPSConnection object at 0x73c9bd123890>, 'Connection to repo.anaconda.com timed out. (connect timeout=9.15)')': /pkgs/r/terms.json 网络问题 1. 清理默认源 conda config --remove-key channels

  1. 添加清华镜像源
1
2
3
4
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/
conda config --set show_channel_urls yes

conda创建的环境里面 pip和python指向不同的目录,python是虚拟环境,pip的是全局的 pip uninstall pip 先卸载掉全局的 python -m ensurepip --upgrade