miniconda使用体验

简介: ## 简介miniconda是什么呢? 这里简单用一个公式来说明 miniconda = virtualenv + pyenv + pypi源通过miniconda可以实现创建隔离的python包环境,下载特定的python包版本,使用conda源上编译好的whl包。可以说一应俱全。## 安装miniconda在Mac可以直接用Brew安装,一行命令 `brew install mini

简介

miniconda是什么呢? 这里简单用一个公式来说明 miniconda = virtualenv + pyenv + pypi源
通过miniconda可以实现创建隔离的python包环境,下载特定的python包版本,使用conda源上编译好的whl包。可以说一应俱全。

安装

miniconda在Mac可以直接用Brew安装,一行命令 brew install miniconda
如果没有安装brew,可以直接下载专门的sh,然后命令行 bash Miniconda3-latest-MacOSX-x86_64.sh 来实现安装,也很方便。

sh脚本其实是一个自解压安装包,脚本有50M左右。

使用

安装完之后,重新打开Terminal就可以使用了。
安装完之后最明显的特定就是, 命令提示符PS1前面多了一个 (base) 这个代表conda当前使用的环境。
conda可以有多个环境,使用命令可以快速创建出来一个,比如用下面这个命令创建出一个python3.4的环境

$ conda create python=3.4 --name py34
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json):
The following NEW packages will be INSTALLED:

  ca-certificates    conda-forge/osx-64::ca-certificates-2021.10.8-h033912b_0
  certifi            conda-forge/osx-64::certifi-2017.1.23-py34_0
  libzlib            conda-forge/osx-64::libzlib-1.2.11-h9173be1_1013
  ncurses            conda-forge/osx-64::ncurses-5.9-10
  openssl            conda-forge/osx-64::openssl-1.0.2u-h0b31af3_0
  pip                conda-forge/noarch::pip-20.3.4-pyhd8ed1ab_0
  python             conda-forge/osx-64::python-3.4.5-2
  readline           conda-forge/osx-64::readline-6.2-0
  setuptools         conda-forge/osx-64::setuptools-32.3.1-py34_0
  sqlite             conda-forge/osx-64::sqlite-3.13.0-1
  tk                 conda-forge/osx-64::tk-8.5.19-2
  wheel              conda-forge/noarch::wheel-0.37.1-pyhd8ed1ab_0
  xz                 conda-forge/osx-64::xz-5.2.5-haf1e3a3_1
  zlib               conda-forge/osx-64::zlib-1.2.11-h9173be1_1013

 Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate py34
#
# To deactivate an active environment, use
#
#     $ conda deactivate

然后使用命令 conda activate py36 就激活了环境。
使用which pip3 可以看到pip3的路径 /opt/homebrew/Caskroom/miniconda/base/envs/py36/bin/pip3
然后pip3 install requests 就安装到了该该python对应的lib目录下。

其他常用命令

# list current envs
conda info --envs

# 创建新的环境
conda create -n bunnies python=3.4 astroid

# 激活环境
conda activate snowflakes

#    退出环境
conda deactivate

# 复制环境
conda create -n flowers --clone snowflakes

# 删除环境
conda remove -n flowers --all

Cheetsheet https://kapeli.com/cheat_sheets/Conda.docset/Contents/Resources/Documents/index

原理小讲

# 在bash中使用 type conda 可以查看conda到底是啥。
conda ()
{
    \local cmd="${1-__missing__}";
    case "$cmd" in
        activate | deactivate)
            __conda_activate "$@"
        ;;
        install | update | upgrade | remove | uninstall)
            __conda_exe "$@" || \return;
            __conda_reactivate
        ;;
        *)
            __conda_exe "$@"
        ;;
    esac
}

这里可以看到conda实际上对应一个函数,通过函数就可以调整PATH变量,进而改变我们使用的Python。也可以通过修改PS1变量修改命令提示符。

总结

写的不是很多,欢迎拍砖

相关文章
|
SpringCloudAlibaba 网络协议 Cloud Native
Spring Cloud Alibaba-全面详解(学习总结---从入门到深化)
Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。
15995 3
Spring Cloud Alibaba-全面详解(学习总结---从入门到深化)
conda常用操作和配置镜像源
conda常用操作和配置镜像源
31651 0
|
Shell Linux iOS开发
安装Anaconda或Miniconda
安装Anaconda或Miniconda
1707 1
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
5315 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
机器学习/深度学习 Linux Shell
超详细的Linux-Conda环境安装教程
超详细的Linux-Conda环境安装教程
|
Linux
CentOS 7 配置yum阿里源 (三步即可)
CentOS 7 配置yum阿里源 (三步即可)
31441 1
|
Ubuntu Linux 网络安全
Miniconda安装使用教程
Miniconda安装使用教程
4054 49
|
Linux Shell 开发工具
MacOS安装Homebrew与Oh-My-Zsh
MacOS安装Homebrew与Oh-My-Zsh
5494 0
|
JSON 缓存 前端开发
MapStruct,降低无用代码的神器
在学习《告别BeanUtils,Mapstruct从入门到精通》后,我发觉MapStruct确实是一个提升系统性能,降低无用代码的神器。然而,在实践这篇文章过程中,我遇到了些问题,并由此对MapStruct框架有了更深入的理解,以下将我的学习收获分享给大家。
934 1
MapStruct,降低无用代码的神器
|
TensorFlow 算法框架/工具
成功解决AttributeError: module ‘tensorflow‘ has no attribute ‘get_variable‘
成功解决AttributeError: module ‘tensorflow‘ has no attribute ‘get_variable‘