文章内容包含三部分

pip和conda的关系

pip和conda在安装包方面

pip和conda在操作虚拟环境方面

组织结构还是我习惯的无序列表的森林。(csdn有toggle list就好了…)

有时间精力去操心表达之前…暂时先沿用一段时间这种长期以来的风格。


  • 一 conda和pip和关系。
  • pip默认从#1下载。conda默认从#2下载。可以看到是两个不一样的源。
  • 区别:范围上pipy是只关于python的包,conda有更杂的内容,而其中关于python的是经过测试和优化的,还可以外部语言绑定。这俩还有一些其他区别,但对我们暂时没有那么必要去了解,后面会补充说一下。
#1    pip
https://pypi.org/simple/  

#2    conda
https://repo.anaconda.com/pkgs/main
https://repo.anaconda.com/pkgs/r
https://repo.anaconda.com/pkgs/msys2
#1    pip
https://mirrors.aliyun.com/pypi/simple/   

#2    conda
channels:
  - http://mirrors.aliyun.com/anaconda/pkgs/main
  - http://mirrors.aliyun.com/anaconda/pkgs/r
  - http://mirrors.aliyun.com/anaconda/pkgs/msys2
  - https://mirrors.aliyun.com/anaconda/cloud/conda-forge
  - https://mirrors.aliyun.com/anaconda/cloud/bioconda
#后面两个建议加上,为什么anaconda要写这么多个后面会解释。
#比如openai的包就在conda-forge的库里,我之前没加,就找不到
  • 其配置文件本体,以及 查改增删的指令记录一下
#1    pip
#查
    pip config list
#改
    1长期(*1)    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
    2临时    pip install package -i https://pypi.tuna.tsinghua.edu.cn/simple
#增
    没有增
#删
    没有删
#本体
    你运行一次(*1)命令应该可以看到那个文件的位置。
    网上说一般是C:\Users\用户名\pip\pip.ini。(Linux下肯定不一样)
    但我的就不是,我是C:\Users\用户名\AppData\Roaming\pip\pip.ini。这还是个隐藏文件。

    关于(*1)这个命令。形如pip config set blabla.asf sfasf。
    这个指令的效果貌似wra方式往这个pip.ini里写东西,[blabla] asf = sfasf。
        (wra,读文件,追加信息,如果文件不存在,就创建一个)
    pip config edit --editor notepad 可以在命令行调用,用win的记事本打开这个文件
#2 conda
#查
    conda config --show channels
#改
    没有改命令(可以去本体改)
#增
    conda config --add channels <channel-name>
#删
    conda config --remove channels <channel-name>
#本体
    通过命令conda config --show-sources 查看配置文件的位置。我是C:\Users\用户名\.condarc
    conda好像还提供不同级别的配置。(系统级,用户级)(我暂不做了解)
  • 其他信息
  • 1)        trusted-host。两个都有
  • 2 为什么anaconda的源,一换就要换三个?
  • 还有别的软件包
  • 3)源的哪些网站长什么样子?怎么获取到包的下载链接,然后下载的?
  • 这个问题我不太了解。打开阿里云的
http://mirrors.aliyun.com/anaconda/pkgs/msys2/

长这样

改变conda虚拟环境的python_conda

我们也知道,可以从这里,直接找到需要的包,下载下来的。

  • 关于pip和conda的更多区别?
  • 这个问题继续研究下去,包管理也是一门技术。
  • 好像1pip和conda对包的组织方式(文件格式)也有所不同的。pip是源码形式(源码跨平台,嗯(有时候也不太对,比如win缺某个库)),conda是跨平台的一种标准方式。
  • 依赖和包管理(文件存放)也又是技术。
  • 二  使用,下载管理包
  • pip和conda的 查看,安装,卸载,升级,导出配置,按文件下载
#1    pip
    #查看
        pip list
    #安装
        pip install <package_name>
        
        #其他常用
            #临时换源
                pip install xxx -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
            #强制本地安装
                pip install <本地文件路径> --no-index
                #因为pip的行为逻辑是一致的,如果你不加--no-index,它还会去线上源去找。挺烦
            #指定版本
                pip install "requests==2.7"           
                pip install "requests>2.0,<3.0" 
                pip install package==0.5.*
    #卸载
        pip uninstall <package_name>
    #升级
        pip install --upgrade <package_name>
    #导出
        pip freeze
        #不会自动创建文件,会返回一个列表,形如
            “numpy==1.19.5
            pandas==1.2.4
            matplotlib==3.4.1”
    #按文件安装
        pip install -r requirements.txt
#2    conda
    #查看
        conda list
    #安装
        conda install <package_name>
        #其他实用
            #指定版本
                conda install numpy=1.18.5
                conda install numpy=">=1.18.0,<=1.18.5"
                #其他注意(来自GPT)
                    版本号应该遵循 Python 的版本号规范(例如 x.y.z 形式),并且在范围内是合法的。
                    在指定版本范围时,可以使用逻辑运算符 | 表示 "或",例如 1.18.0|1.18.5 表示安装 1.18.0 或 1.18.5 版本的包。
                    如果不指定版本范围,默认情况下 conda 会安装符合当前环境解析的最新版本的包。
    #升级
        conda update <package_name>
    #卸载
        conda remove <package_name>
    #导出
        conda list --export > environment.yml
        形如
            “# This file may be used to create an environment using:
            # $ conda create --name <env> --file <this file>
            # platform: win-64
            _ipyw_jlab_nb_ext_conf=0.1.0=py39haa95532_0
            aiohttp=3.8.3=py39h2bbff1b_0
            aiosignal=1.2.0=pyhd3eb1b0_0
            alabaster=0.7.12=pyhd3eb1b0_0
            anaconda=2023.03=py39_0”
    #按照文件安装
        conda install --file requirements.txt
  • 虚拟环境的创建,激活,删除,宏观管理。(下次来写)
#1    pip
    #创建

其他

撰写本文时候的一些想法

改变conda虚拟环境的python_conda_02