pip,conda,虚拟环境的使用|资料库

这话题很多人都写过了。但果然自己还是写一遍比较好。(未完工)

我不是这方面的大佬,是结合资料梳理思路,如果有错误,欢迎指正。

感谢小助理chatGPT帮我纠正了很多以前的错误认知,解答了以前的疑惑。


写到后面才发现,其实本文内容可以列一个表格。表格文章链接:<>

文章内容包含三部分

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/

          长这样

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

      • 关于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
          #创建
              


其他

撰写本文时候的一些想法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值