应对人工智能时代变化

python基础

https://www.runoob.com/python3/python-qt.html 。菜鸟教程,上面还有一些量化的教程

community

任何学习都离不开好的社区进步,好的社区可以帮助少走很多弯路,也有很多志同道合的小伙伴和能够更供初学者充分学习的项目,这边推荐几个跟AI相关的社区:

在 AI 领域,大模型的下载对于研究和开发至关重要。然而,由于网络环境的特殊性,国内用户往往难以直接访问 Huggingface.co 来获取所需资源。幸运的是,国内也有多个平台提供了优秀的替代方案。以下是一些值得推荐的国内大模型下载途径:

  • Hugging Face, 一个很好的社区,有很多项目可以看代码学习,还有框架文档,demo之类的可以入门。
  • huggingface 镜像站,网址:hf-mirror.com,特点:这个镜像站为用户提供了一种简便快捷的方式来下载热门模型。网站首页详细介绍了使用方法,操作简单,下载速度令人满意。
  • 阿里巴巴的模搭社区,网址:modelscope.cn 。特点:模搭社区是国内活跃度极高的模型共享平台,它不仅提供了丰富的模型分享,还支持数据集共享、在线运行环境创空间以及在线 notebook 等功能。此外,模搭社区的公众号经常发布高质量的技术文章,是 AI 爱好者的知识宝库。 (这个还需要去申诉一下手机号)。,邮箱绑定的是 498938874@qq.com
  • Gitee AI,网址:ai.gitee.com 。特点:作为国内知名的代码托管平台,Gitee 的 AI 子站目前虽处于测试阶段,但已提供了众多模型的下载服务,并且下载速度迅速,对于国内开发者来说是一个便捷的选择。
  • 始智AI wisemodel 。网址:wisemodel.cn 。特点:wisemodel 是国内另一个值得关注的模型共享平台,它提供了丰富的模型资源,下载速度同样令人满意,为国内用户提供了另一种优质的选择。
  • AI快站。 网址:aifasthub.com 。特点:AI快站是一个专注于提供HuggingFace模型免费加速下载服务的平台,旨在为AI开发者解决大模型下载中的常见问题。网站有具体的使用方法。

这个情感分析可以抽时间看看:https://ai.gitee.com/apps/Eric_Wu_39/gupiaofenxiyulianghuahuicezhushou

roadmap

机器学习进阶

discussions

CS294 深度增强学习 这门课的质量是不是不大好?

课程

对话数据

好文

问题记录

Python环境管理方式总结

本文由 简悦 SimpRead 转码, 原文地址 jinli.io

用 venv/conda/mamba 等工具管理 Python 环境

软件

Python 环境管理方式总结

用 venv/conda/mamba 等工具管理 Python 环境

缘起

在使用 Python 开发时,遇到了很多配置环境的情形。有时需要安装不同版本的 Python,有时需要安装不同的 Python 包,有时需要安装不同的 Python 包的不同版本。

最开始使用时我基本上都是看网上的教程,不同的 Python 项目可能使用不同的环境管理工具,不知不觉就用过了pipcondamambavirtualenvvenv等等。这些工具各有优劣,有时候我也会混用,导致环境变量混乱,有时候还会出现冲突。

由于一直没有什么一致性,导致电脑上的 Python 环境比较乱,我自己也感觉云里雾里的,所以我打算总结一下这些工具的使用方法,以及它们的优缺点。最后会给出我自己推荐的一些使用方法。

Python 管理工具分类

Python 管理工具可以分为两类:

  1. 包管理工具:用于安装、卸载、更新 Python 包,如pipcondamamba等。

  2. 环境管理工具:用于管理 Python 环境,如venvvirtualenvcondamamba等。

我们这里主要讨论环境管理工具,因为包管理工具的使用方法比较简单,而且大多数情况下我们都会使用pip,所以这里不再赘述。

之前我也写过一篇关于 Linux 下使用module管理软件包和环境变量的文章,可以参考 “Linux 下使用 module 管理软件包和环境变量”

环境管理工具

venv

venv是 Python 自带的环境管理工具,其使用起来是最简单,也是最不需要操心的。

使用方法

  1. 创建一个新的环境:

    这样就会在当前目录下创建一个.venv的文件夹,里面包含了一个新的 Python 环境。当然,这里的.venv可以替换成任何你想要的名字,用.venv是因为这样可以创建一个自动隐藏的文件夹,在 git 中也很容易把它忽略掉。

    注意,这里的python是你想要创建环境的 Python 版本,如果你有多个 Python 版本,可以使用python3或者python3.10等。

  2. 激活这个环境:

    如果是 Linux 系统或者 MacOS 系统,可以使用如下命令:

    如果是 Windows 系统,可以使用如下命令:

  3. 安装 Python 包:

    在激活环境之后,使用pip安装 Python 包会把包安装到这个环境中,而不是全局环境。安装的包会放在.venv/lib/python3.10/site-packages目录下。

  4. 退出环境:

    在环境中使用deactivate命令可以退出环境。

优缺点

  • 优点:

    • 原生工具,简单易用,不需要安装额外的软件。
    • 速度快,因为不需要下载额外的软件包。
    • 环境隔离,不会影响全局环境。
    • 可以在任何地方创建环境,不需要管理员权限。
    • 每个项目中的环境都在本项目目录下,与其他项目做到了物理隔离,不易弄混。
  • 缺点:

    • 每个项目都需要创建一个新的环境,如果有很多项目,会占用很多空间。
    • 无法共享环境,如果有多个项目使用同一个环境,需要重复创建。
    • 不好切换 Python 版本,每个环境都是一个 Python 版本,无法切换。
    • 只适用于 Python 3.3 及以上版本。

简单来说,如果你不在意空间占用,不需要切换 Python 版本,那么venv是一个很好的选择。

virtualenv

由于venv有很大的占用空间的问题,所以有人开发了virtualenv,它是一个第三方的环境管理工具,可以解决venv的一些问题。

virtualenv的使用方法和venv基本一样,只是需要安装virtualenv这个包。

使用方法

  1. 安装virtualenv

  2. 创建一个新的环境:

    如果你想指定 Python 版本,可以使用如下命令:

    1
    python -m venv .venv
  3. 激活这个环境的方式和venv一样。

  4. 安装 Python 包的方式和venv一样。

但它和venv的区别在于,virtualenv会复用系统的 Python 库,不会重复安装,所以占用的空间会小很多。如果你不想复用系统的 Python 库,可以使用--no-site-packages选项,在本项目中安装全新的 Python 库。

  1. 退出环境的方式和venv一样。

优缺点

  • 优点:

    • 可以指定 Python 版本。
    • 可以共享环境,不需要重复创建。
    • 占用空间小,不会重复安装 Python 库。
    • 适用于 Python 2.7 及以上版本。
  • 缺点:

    • 非原生工具,需要安装额外的软件。

简单来说,如果你在意空间占用,且想要和venv相似的使用体验,那么virtualenv是一个很好的选择。

conda

conda是一个非常强大的环境管理工具,它不仅可以管理 Python 环境,还可以管理其他语言的环境,如 R、Julia 等。

conda、Anaconda、miniconda、mamba、micromamba 之间的关系

  • conda是 Anaconda 的一部分,Anaconda 是一个数据科学家常用的工具包,里面包含了很多数据科学家常用的软件包,如numpypandasscipy等。但有用户反映 Anaconda 安装的软件包太多,占用空间太大,所以有人开发了miniconda,它是 Anaconda 的精简版,只包含了conda和一些基本的软件包。

  • 不管是 Anaconda 还是 miniconda,都是使用conda这个包管理工具来管理环境,但conda在安装软件包时是单线程的,速度比较慢,所以有人开发了mamba,它是conda的一个加速版,速度比conda快很多。

  • mambaconda的使用方法基本一样,只是在安装软件包时使用mamba代替conda。用户基本可以认为,mamba命令是conda命令的一个别名。

  • micromambamamba的一个精简版,micromambabase环境是空的,不包含任何软件包。

conda 的原理(也适用于 mamba)

  • conda环境管理工具会在用户的家目录下创建一个.conda文件夹,里面包含了所有的环境,每个环境都是一个文件夹,里面包含了一个 Python 环境和一个软件包列表。

  • 用户每创建一个新的环境,conda环境管理工具就会在.conda文件夹下创建一个新的文件夹,里面包含了一个新的 Python 环境和一个新的软件包列表。用户每安装一个新的软件包,conda包管理工具就会把这个软件包安装到对应的环境中。

  • 用户每激活一个环境,conda环境管理工具就会把这个环境的 Python 环境和软件包列表添加到环境变量中,用户每退出一个环境,conda环境管理工具就会把这个环境的 Python 环境和软件包列表从环境变量中删除。

  • 创建好的conda环境跟某个项目无关,用户可以在任何地方激活这个环境,不需要在项目目录下创建环境。

使用方法(以mamba为例)

  1. 安装conda或者mamba

    你可以在 miniforge找到最小化的conda或者mamba安装包,下载安装即可。

  2. 创建一个新的环境:

    这里的myenv是环境的名字,python=3.10是指定 Python 的版本。

  3. 激活这个环境:

  4. 安装 Python 包:

  5. 退出环境:

优缺点

  • 优点:

    • 可以指定 Python 版本。
    • 可以共享环境,不需要重复创建。
    • 可以安装其他语言的环境。
    • 速度快,因为有mamba这个加速版。
    • 可以在任何地方激活环境,不需要在项目目录下创建环境。
    • 可以共享软件包,不需要重复下载。
  • 缺点:

    • 非原生工具,需要安装额外的软件。
    • 环境跟具体项目是分离的,对于较久未使用的环境,可能会忘记这个环境是干什么的。对于较久未使用的项目,可能会忘记这个项目使用的是哪个环境。

简单来说,如果你想要一个强大的环境管理工具,而且想要安装包时速度快,那么conda或者mamba是一个很好的选择。但在开发某个项目时,最好标注一下这个项目使用的是哪个环境,以免忘记。

冻结环境

无论使用哪种环境管理工具,都可以使用pip freeze命令来冻结环境,即把当前环境的软件包列表保存到一个文件中。

1
source .venv/bin/activate

这样就会在当前目录下创建一个requirements.txt文件,里面包含了当前环境的软件包列表。当你需要在另一个环境中安装这些软件包时,可以使用如下命令:

这样就会安装requirements.txt文件中列出的所有软件包。

总结

  • 如果你不在意空间占用,适用高于 3.3 版本的 Python,不需要切换 Python 版本,只想要一个最简单的环境管理工具,那么venv是一个很好的选择。
  • 如果你在意空间占用,想要共享环境,适用于 2.7 及以上版本的 Python,那么virtualenv是一个很好的选择。
  • 如果你想要一个强大的环境管理工具,想要安装包时速度快,那么conda或者mamba是一个很好的选择。

推荐的使用方法

  • 如果你不在于空间占用,且可能用到很多科学计算的包,在你的主力开发电脑上,可以安装Anaconda
  • 如果你在意空间占用,只想在需要时安装包,可以在你的主力开发电脑上安装micromamba
  • 如果你不在意空间占用,在你的测试电脑上,或者在你的服务器上,可以使用venv

应对人工智能时代变化

https://blog.jiejaitt.top/posts/a6416623.html

作者

JIeJaitt

发布于

2024-11-29

更新于

2025-01-22

许可协议

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×