从零构建大模型(零)——搭建配置环境

文章目录


前言

提示:文章中有很多步骤是选择进行执行的,希望你对当前的文章进行简单的查看后,再从头按照步骤进行执行命令


一、python版本

1. 检测是否安装python和操作系统自带的python

base 复制代码
python --version // 查看python 的版本

(1)如果没有安装,情况如下

若安装了,直接跳转到第2步继续进行环境配置

(2)操作系统自带的python

base 复制代码
python3  // 这是操作系统自带的旧版本的python

设置新电脑经默认安装了python,强烈建议不修改这个python版本

也不建议修改版本,这可能会对操作系统造成未知问题

2.安装python的几种方法

(1)官网下载

官方网址:https://www.python.org/

第2步选择了macOS(因为我电脑是macOS 的,请选择你电脑对应的操作系统)

问题:你安装完python验证,会发现python --version依据提示python指向为not found,执行下面步骤

bash 复制代码
echo '# 配置 python 指向 3.13 版本
alias python="/Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13"

# 配置 python3 指向 3.9.6 版本
export PATH="/opt/homebrew/opt/python@3.9/libexec/bin:$PATH"' > /tmp/python_config.sh && source /tmp/python_config.sh && python --version && python3 --version

(2)Homebrew下载和python的安装

定义:Homebrew(通常简称为 brew)是一款适用于 macOS 和 Linux 的自由、开源的软件包管理系统。

bash 复制代码
xcode-select --install  // 提示已安装,则无需操作
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com)" // 执行安装命令(需要进行配置安装)
brew --version // 如果输出版本号,则表示安装成功
bash 复制代码
brew install python // 安装最新python
brew install python@3.13 // 安装指定版本python

验证

(3)下载并安装 Miniforge(推荐)

1️⃣定义:

Miniforge 是一个由社区维护、轻量级的开源 Conda 发行版和包管理器,专门用于创建和管理 Python 虚拟环境。它内置了 conda-forge 频道作为默认源(这很重要,后面会用到)

2️⃣下载:

GitHub 仓库 下载 Miniforge。

例如:本电脑Apple M1,是arm64,

bash 复制代码
url -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh"
3️⃣执行安装脚本并接受默认配置

根据操作系统的不同,这会下载一个 .sh 文件(适用于 macOS 和 Linux)或 .exe 文件(适用于 Windows)。对于 .sh 文件,打开命令行终端并执行以下命令:

注意:Desktop/ 是下载 Miniforge 安装程序的文件夹。在你的计算机上,可能需要将其替换为 Downloads/

bash 复制代码
sh ~/Desktop/Miniforge3-MacOSX-arm64.sh

3.安装UV(Python 包管理器和环境管理器)

关系,你安装python后,有一个默认的管理器pip就是python的管理权,通过pip来安装另一个包管理器UV

原因:UV的速度比pip快

bash 复制代码
pip3.13 install UV // 因为python是3.13的,所以pip后面的也是3.13,这个依据你安装的版本来改变(注意比最新版本小2-3个版本),比如下面3.11版本的也可以

二、创建一个虚拟环境

0. 准备

请确保你安装了MiniforgepythonUV

1. 从gitHub仓库下载要安装包的文件(LLMs-from-scratch-CN-main)

GitHub 仓库 下载 LLMs-form-scratch-CN。

仓库连接:https://github.com/MLNLP-World/LLMs-from-scratch-CN/tree/main

从下载中解压,将解压的移动到桌面

2.创建

(1)创建一个虚拟环境

bash 复制代码
conda create -n LLMs python=3.11 // 创建一个名为 LLMs 的新虚拟环境

(2) 创建一个venv的文件夹安装python3.11

bash 复制代码
cd ~/Desktop/LLMs-from-scratch-CN-main // 进入第一步下载的LLMs-from-scratch-CN-main中
uv venv --python=python3.11  // 安装venv文件夹里面的python版本

实际在里面是隐藏的 如何看不到的话,使用快捷键 Command + Shift + . (句点)显示隐藏文件

优点: 使用 python --version 回车出现版本后,然后删除.venv文件夹输出python --version 回车,提示没有找到.venv这个文件夹,作用是:==搞砸了一定的问题,可以重新删除包然后继续

(3)激活创建的虚拟环境

接下来,激活你新创建的虚拟环境(每次打开新的终端窗口或标签页时都需要激活):

方式一:

source .venv/bin/activate

方式二:
bash 复制代码
conda activate LLMs

问题:CondaError: Run 'conda init' before 'conda activate'

需要先运行conda init来初始化shell环境,直接执行conda init会遇到权限问题

执行 以下命令

bash 复制代码
conda init zsh && source ~/.zshrc && conda activate LLMs // 初始化并创建
conda create -n LLMs python=3.11 -y && conda activate LLMs // sudo权限问题,直接创建并激活LLMs环境
source /Users/xxx/miniforge3/bin/activate LLMs //激活环境,绕过conda init的限制 (xxx表示电脑用户名)

三、安装所有使用的 Python 包和库

1. 执行文件 以此安装文件里面的包

为了更方便地安装这些依赖项,您可以使用代码库根目录中的 requirements.txt 文件,并运行以下命令:

bash 复制代码
pip install -r requirements.txt
uv pip install -r requirements.txt // 安装了uv的情况,更快

或者,您也可以通过 GitHub URL 安装,命令如下:

bash 复制代码
pip install -r https://raw.githubusercontent.com/rasbt/LLMs-from-scratch/main/requirements.txt

2: 验证

安装完成后,请使用以下命令检查所有包是否已安装并更新至最新版本:

bash 复制代码
python python_environment_check.py

提示:有安装包错误,但不用管

3. 安装新的 Python 库(不是python)

现在,你可以使用 conda 包管理器来安装新的 Python 库。例如,可以通过以下命令安装 JupyterLab 和 watermark:

bash 复制代码
conda install jupyterlab watermark // 安装jupyterlab和watermark
bash 复制代码
uv rn jupyter lab // 运行jupyterlab,在虚拟环境中执行后运行,会打开浏览器

4. 安装PyTorch

bash 复制代码
pip install torch

注意点

虚拟环境LLMs进入需要使用命令

bash 复制代码
source /Users/xxx/miniforge3/bin/activate LLMs
相关推荐
j_xxx404_4 小时前
Linux 线程日志系统设计:从策略模式、RAII 到 pthread 线程安全与内核写入路径|附源码
linux·运维·服务器·开发语言·c++·人工智能·策略模式
代码小书生3 天前
shutil,一个文件操作的 Python 库!
开发语言·python·策略模式
ting94520003 天前
ModelHub 深度技术解析:macOS 原生菜单栏 LLM 模型管理工具,补齐 Ollama/MLX/LM Studio 生态短板
人工智能·macos·架构·策略模式
张小姐的猫3 天前
【Linux】多线程实战 —— 日志类 | 策略模式
linux·运维·服务器·c++·bash·策略模式
老码观察4 天前
设计模式实战解读(五):策略模式——干掉 if-else 的优雅方案
java·设计模式·策略模式
无聊的老谢5 天前
构建高扩展性的动态指标计算引擎:策略模式与表达式树的实战应用
java·策略模式·计算引擎
IT空门:门主5 天前
Java 设计模式实战:模板方法 + 工厂 + 策略模式重构支付系统
java·设计模式·策略模式
c++之路6 天前
策略模式(Strategy Pattern)
策略模式
一个在高校打杂的10 天前
honeypot之opencanary(轻量化蜜罐)
linux·网络安全·网络攻击模型·安全威胁分析·策略模式