服务热线
135-6963-3175
相关命令
conda conda init conda -V conda config --set show_channel_urls yes conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/\n conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/\n conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/\n conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/\n\n #场景虚拟环境 conda create -n tens python==3.11 conda config conda config --show channels #激活环境 conda activate tens
1、安装生效范围
切换环境后用pip install安装(只对当前环境生效),不激活环境用conda install安装会对所有环境生效(无论是否虚拟)
切环境(conda激活环境)后用pip install安装 = conda激活环境后conda install
不激活环境的话conda install安装会对所有环境生效,pip install可能安装到默认的全局环境中
在使用pip install安装包时,如果没有激活任何虚拟环境,安装的包将会被安装到系统的全局环境中。这意味着所有使用该 Python 解释器的项目都能访问安装的包。
2、区别
pip是Python的默认包管理器,用于安装Python包。它主要用于安装Python包,并且通常与Python的虚拟环境一起使用。
conda是一个综合性的包管理器,用于管理各种软件包,不仅限于Python包。它是Anaconda发行版的一部分,专门用于数据科学和机器学习领域。
pip没有内置支持环境隔离,需要依赖其他工具如virtualenv或venv来创建隔离的环境;
conda能够直接创建和管理隔离的环境,简化了多版本软件和不同语言包的共存问题。
因为1的原因,conda安装多个环境时,因为这些虚拟环境互相关联,所以同一个包只需要安装一次,且在同一个目录里,由conda通用管理,而pip每次安装只是在当前的虚拟环境下。
conda env export 可以导出yaml依赖
pip install对requirement.txt生效,conda install 对yaml依赖有效
可在创建并激活环境后进行pip install
pip install -r requirements.txt (这样可保证只安装到虚拟环境,不影响其他环境)
3、每个项目依赖不一样的话,公用一套环境就会有很多冗余包,依赖差不多的项目可共用一套环境
针对项目下的venv目录:
venv 目录通常是由使用 Python 自带的 venv 模块创建的,而不是由 conda 创建的。
`conda` 和 `venv` 是两种不同的工具,用于创建和管理 Python 虚拟环境,它们有一些重要的区别:
1. **工作原理**:
- `venv` 是 Python 的标准库中的模块,用于创建 Python 虚拟环境。它通过复制系统中的 Python 解释器和标准库来创建一个独立的、隔离的 Python 环境。
- `conda` 是一个综合性的包管理器,专门用于数据科学和机器学习领域。它包含了一个环境管理器,可以创建和管理 Python 虚拟环境,但它不仅限于 Python,还可以管理其他语言的软件包和依赖项。
2. **依赖解决**:
- `venv` 创建的虚拟环境只包含了 Python 解释器和标准库,使用 `pip` 管理 Python 包。它的依赖解决能力相对较弱,可能会导致依赖冲突或不兼容的问题。
- `conda` 创建的虚拟环境包含了 Python 解释器、标准库以及一个完整的包管理系统。它使用 `conda` 命令来管理包,具有更强大的依赖解决能力,可以确保安装的软件包及其依赖项之间的版本兼容性。
3. **跨平台支持**:
- `venv` 是 Python 的标准库模块,因此在所有支持 Python 的平台上都可以使用。
- `conda` 是一个独立的软件包管理器,可以在所有主流操作系统上使用,但它的主要目标是在数据科学和机器学习领域中使用。
4. **生态系统**:
- `venv` 是 Python 的官方标准库模块,它的生态系统相对较小,主要集中在 Python 社区。
- `conda` 是 Anaconda 发行版的一部分,它有一个庞大的生态系统,包含了大量常用的数据科学和机器学习工具、库和软件包。
综上所述,`venv` 和 `conda` 都可以用来创建和管理 Python 虚拟环境,但它们的设计目标、功能和生态系统有所不同,你可以根据自己的需求和偏好选择适合你的工具。
venv的使用
1、创建环境
python -m venv myenv
2、激活环境
source myenv/bin/activate (Unix 或 macOS 上) 或者 myenv\Scripts\activate (Window)
3、安装包
激活虚拟环境后,你可以使用 pip 来安装项目所需的软件包。安装的软件包将会被安装到当前激活的虚拟环境中,而不会影响到其他环境或系统的默认环境。
4、退出虚拟环境:
当你完成工作后,可以使用 deactivate 命令来退出虚拟环境,返回到系统默认环境中。