Python 环境搭建实战:Miniforge3 与 Visual Studio Build Tools

Python 环境搭建实战:Miniforge3 与 Visual Studio Build Tools在 Python 开发的广阔天地中 搭建一个稳定且高效的开发环境是至关重要的 今天 我们就来深入探讨两款在 Python 环境搭建中占据重要地位的工具 Miniforge3 和 Visual Studio Build Tools

欢迎大家来到IT世界,在知识的湖畔探索吧!

在 Python 开发的广阔天地中,搭建一个稳定且高效的开发环境是至关重要的。今天,我们就来深入探讨两款在 Python 环境搭建中占据重要地位的工具 ——Miniforge3 和 Visual Studio Build Tools。

Windows Python 编译坑实录:VS Build Tools 安装指南与 Miniconda 授权陷阱

各位 Python 开发者,尤其是在 Windows 系统上折腾 C/C++ 扩展、PyTorch 等库的朋友们,是不是经常被各种编译报错搞得焦头烂额?今天咱们就来好好说道说道这个让人头疼的问题,顺便聊聊很多人容易忽略的 Miniconda 商业授权那些事儿,帮你避开这些可能让你损失金钱或陷入法律风险的坑。

Windows 编译报错?大概率是 VS Build Tools 没装对

在 Windows 上进行 Python 开发,特别是安装需要编译的包时,各种报错简直是家常便饭。比如:

error: Microsoft Visual C++ 14.0 or greater is required... fatal error C1083: Cannot open include file: 'xxx.h': No such file or directory LINK : fatal error LNK1158: cannot run 'rc.exe'

欢迎大家来到IT世界,在知识的湖畔探索吧!

这些看似五花八门的报错,90% 的原因都指向一个 —— 你的 Visual Studio Build Tools 没装,或者装错了!

为什么需要 VS Build Tools?

Python 本身并不包含 C/C++ 编译器,而在 Windows 系统上,很多 Python 库(尤其是涉及到 C/C++ 扩展的)需要通过编译器进行编译才能安装和运行。Visual Studio Build Tools 就相当于这个 “编译器武器库”,为我们提供了必要的编译工具和环境。

安装 VS Build Tools 的正确姿势

很多人按照教程去官网下载了 Build Tools,但安装后还是报错,问题就出在安装时的组件选择上。官网的默认安装界面是空白的,需要我们手动勾选必要的组件,这也是大多数人踩坑的地方。

安装时,务必勾选以下核心组件:

  1. “C++ 生成工具”:这是最核心的基础组件,没有它,后续的编译工作根本无法进行。
  2. Windows 10 SDK:选择一个合适的版本,比如最新的稳定版或者你项目要求的版本。它提供了 Windows 系统相关的头文件、库文件等,很多库的编译都依赖它。
  3. “MSVC vxxx – VS xxxx C++ x64/x86 生成工具”:根据你的 Python 架构选择对应的最新版本,例如MSVC v143 – VS 2022 C++ x64/x86 build tools。这是具体的编译器组件,负责将代码编译成可执行文件。
  4. “C++ CMake 工具”:如果你项目中使用 CMake 进行构建,这个组件是必不可少的。
  5. 英文语言包:虽然是可选的,但强烈建议安装。它可以避免某些工具路径中出现中文而引发的奇怪问题。

常见错误及解决方案

报错信息示例

可能原因及解决方案

error: Microsoft Visual C++ 14.0+ required

要么没装 Build Tools,要么装的版本太旧。去微软官网下载安装最新的Visual Studio Build Tools,并按上述清单勾选组件。

fatal error C1083: Cannot open include file: ‘xxx.h’

缺少 Windows SDK。安装时一定要勾选 Windows 10 SDK(或 11 SDK)。

LINK : fatal error LNK1158: cannot run ‘rc.exe’

可能是安装路径有问题,或者组件缺失。最常见的是只装了部分组件。此时应卸载现有 Build Tools,重新安装并严格勾选核心组件,同时确保安装目录没有特殊字符和空格。

各种cl.exe, link.exe, nmake.exe找不到

要么是环境变量未设置,要么是根本没装 Build Tools。安装正确组件后,VS 通常会自动配置环境变量,重启命令行或 IDE 试试。如果不行,可手动运行 VS 安装目录下的vcvarsall.bat,例如”C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat” x64。

总之,解决编译问题的关键就是老老实实、完完整整地安装 Visual Studio Build Tools 的核心编译组件,别被那个空白的安装选择界面忽悠了。

Miniconda 商业授权:别因小失大

聊完了技术上的坑,咱们再来说说一个容易被忽视的 “政策坑”——Miniconda/Anaconda 的商业使用授权问题。

Miniconda 的授权限制

Miniconda 是 Conda 的极简安装版,只包含 Conda、Python 和少量核心包,因其轻量、灵活,深受很多开发者喜爱。但需要注意的是,免费并不意味着可以无限制使用。

Miniconda/Anaconda 的仓库(defaults channel)里很多包是 Anaconda, Inc. 重新编译打包的。根据其服务条款:

  • 个人使用和非商业用途是免费的。
  • 对于商业用途,如果公司员工数超过一定规模(通常是 200 名员工),或者使用场景属于商业活动(比如为公司开发产品、提供服务、内部数据分析支持决策等),就需要购买商业许可证。

如何规避授权风险?

  1. 不要心存侥幸,Anaconda 有合规团队,会进行核查,大公司尤其容易被盯上。
  2. 考虑开源替代方案:
  • Miniforge / Mambaforge:默认使用社区维护的conda-forge channel。conda-forge的包遵循各自的开源许可证,没有 Anaconda, Inc. 的额外商业授权限制,是目前很多人的首选替代方案。
  • 纯 pip + virtualenv/venv:对于不需要复杂 C 库或跨语言包管理的项目,这是完全免费且不受限的选择。
  1. 仔细阅读 Anaconda 官网的最新服务条款和商业授权政策,拿不准的话咨询公司法务。

简单来说,个人学习研究,Miniconda 可以随便用;但在公司里使用(尤其是大公司),要么老老实实买商业授权,要么就换成 Miniforge/Mambaforge(conda-forge)。

实用小贴士

  1. 安装 VS Build Tools 时,用管理员权限运行安装程序。
  2. 安装完 Build Tools 后,重启命令行或 IDE 再进行操作。
  3. 遇到 Python 包编译问题,仔细查看错误日志,关键词往往是cl.exe, link.exe, rc.exe, xxx.h, xxx.lib。
  4. 在 Conda 环境里编译报错,确保 Conda 环境激活状态下,Build Tools 路径在系统 PATH 里优先级更高,或者尝试在 Conda 环境内运行conda install vs2019_win-64或vs2022_win-64(根据 VS 版本和 Python 版本选择)来配置环境变量。

搞定编译环境,避开商业授权风险,你的 Python 开发之路才能更顺畅。如果觉得这些内容对你有帮助,欢迎分享给身边的朋友。有任何问题,欢迎在评论区留言讨论!

Miniforge3:Miniconda3 的绝佳平替

为什么选择 Miniforge3

在 Python 环境管理领域,Miniconda3 一直以来都颇受欢迎。然而,随着时间的推移,其一些局限性也逐渐显现。例如,安装包体积较大,安装过程有时较为繁琐,且在某些情况下,依赖解析速度不尽人意。而 Miniforge3 的出现,为我们提供了一个更为出色的选择。

Miniforge3 是由 conda – forge 社区驱动开发的,它具有以下显著优势:

  1. 轻量级:安装包仅包含核心组件,如 Python 和 Conda,体积比 Anaconda 小 90% 以上,大大加快了下载和安装速度。
  2. 社区驱动:默认使用 conda – forge 作为包源,conda – forge 社区极为活跃,支持超过 20 万种开源库,且更新速度远超 Anaconda 官方源,这意味着开发者能够更及时地获取到最新的库和工具。
  3. 兼容性强:对多平台(Windows、macOS、Linux)提供良好支持,尤其针对 Apple M 系列芯片进行了优化,比 Anaconda 更早适配 ARM 架构。
  4. 完全开源免费:对于企业和个人开发者而言,无需担心商业授权风险,可放心使用。

Miniforge3 的安装步骤

  1. 下载安装包
  • 官方安装包下载页为:https://conda – forge.org/miniforge/ ,不过该页面资源托管在 Github 上,对于国内用户,下载速度可能不太理想。
  • 推荐通过清华大学镜像站进行加速下载,地址为:[https://mirrors.tuna.tsinghua.edu.cn/github – release/conda – forge/miniforge/](https://mirrors.tuna.tsinghua.edu.cn/github – release/conda – forge/miniforge/) 。根据自己的系统选择对应的版本,以 Windows 系统为例,可下载当前最新版本对应的 Miniforge3 – 24.3.0 – 0 – Windows – x86_64.exe 。
  1. 安装过程
  • 运行下载好的安装程序,按照安装向导提示进行操作。在安装过程中,注意勾选 “Add Miniforge3 to my PATH environment variable”(添加 Miniforge3 到系统路径环境变量)选项,这样可以方便后续在命令行中直接使用相关命令。如果忘记勾选,也可以手动配置环境变量。
  1. 配置环境变量(若安装时未自动配置)
  • 对于 Windows 系统,假设 Miniforge3 安装在 C:\miniforge 目录下,需要将以下路径添加到系统的 PATH 环境变量中:
欢迎大家来到IT世界,在知识的湖畔探索吧!C:\miniforge C:\miniforge\Scripts C:\miniforge\Library\bin
  • 添加完成后,打开命令提示符(CMD),输入 mamba – V ,如果能够正确输出版本信息,则说明环境变量配置成功。

Miniforge3 的常用操作

Miniforge3 内置了包管理工具 conda 和 Mamba,其中 Mamba 可完全替代 conda 功能,且运行效率更优。通常情况下,我们只需将熟悉的 conda 命令中的 conda 替换为 mamba 即可。

  1. 查看已有虚拟环境:在命令行中输入 mamba env list ,即可列出当前所有已创建的虚拟环境。
  2. 激活指定虚拟环境:输入 mamba activate 环境名称 ,例如要激活名为 myenv 的虚拟环境,则输入 mamba activate myenv 。若初次执行 activate 命令失败,可按照提示信息执行 mamba init 命令,然后重新打开终端再进行激活操作。
  3. 创建新的虚拟环境:使用命令 mamba create -n 环境名称 python = 版本号 ,比如创建一个 Python 3.10 版本的虚拟环境 newenv ,命令为 mamba create -n newenv python = 3.10 。Miniforge3 默认将 conda – forge 作为下载源,如果觉得默认源网速较慢,可通过 -c 参数自定义镜像源,如使用南方科技大学的 main 源创建环境: mamba create -n newenv -c https://mirrors.sustech.edu.cn/anaconda/pkgs/main python = 3.10 。
  4. 安装包:激活虚拟环境后,使用 mamba install 包名 命令安装所需的 Python 包。例如安装 numpy 包,命令为 mamba install numpy 。若要安装特定版本的包,可使用 mamba install 包名 = 版本号 ,如安装 1.23.5 版本的 numpy,命令为 mamba install numpy = 1.23.5 。

Visual Studio Build Tools 的安装

Visual Studio Build Tools 是一款强大的工具,在 Python 开发中,当我们需要安装一些依赖 C/C++ 编译的包时,它能发挥重要作用。例如安装一些非纯 Python 套件,或是编译 Cython 或 Pyrex 文件等场景。

下载安装包

  1. 访问 Microsoft 官方下载页面:[https://visualstudio.microsoft.com/zh – hant/visual – cpp – build – tools/](https://visualstudio.microsoft.com/zh – hant/visual – cpp – build – tools/) 。
  2. 在页面中找到适合自己系统和需求的版本进行下载。一般来说,建议下载最新版本以获取更好的兼容性和功能支持。

安装过程

  1. 运行下载好的安装程序,安装向导启动。
  2. 在安装选项中,根据自己的需求进行选择。如果只是用于 Python 开发相关的编译工作,通常选择 “C++ 生成工具” 即可。若还有其他需求,如开发 C++ 项目等,可按需勾选其他组件。例如,如果需要使用 MFC、ATL 等库,可勾选相应的选项。
  3. 选择安装路径,建议保持默认路径,这样可以避免一些潜在的路径问题。若要更改路径,需确保所选路径磁盘空间充足且没有权限问题。
  4. 点击 “安装” 按钮,等待安装过程完成。这个过程可能需要一些时间,具体时长取决于网络速度和计算机性能。

验证安装

安装完成后,可以通过以下方式验证 Visual Studio Build Tools 是否安装成功:

  1. 打开命令提示符(CMD)。
  2. 尝试运行一些编译相关的命令,例如编译一个简单的 C++ 源文件。创建一个名为 test.cpp 的文件,内容如下:
#include <iostream>int main() { std::cout << "Hello, Visual Studio Build Tools!" << std::endl; return 0;}
  1. 在命令行中进入 test.cpp 文件所在目录,然后输入 cl test.cpp 命令。如果能够成功编译并生成可执行文件,且运行可执行文件后能正确输出 “Hello, Visual Studio Build Tools!”,则说明 Visual Studio Build Tools 安装成功且配置正确。

通过以上步骤,我们成功完成了 Miniforge3 的安装与配置,以及 Visual Studio Build Tools 的安装。这两款工具为我们搭建一个强大、高效的 Python 开发环境奠定了坚实基础。无论是进行数据科学、机器学习项目,还是开发 Python 应用程序,都能在这样的环境中更加得心应手。

补充内容

Miniforge3 实战进阶操作

安装过程的关键细节

当运行 Miniforge3 安装程序时,除了勾选 “Add Miniforge3 to my PATH environment variable”,还有几个选项需要注意:

  • “Register Miniforge3 as system Python”:建议勾选,这样系统中其他程序可以识别到该 Python 环境。
  • “Create start menu shortcuts”:根据个人习惯选择是否创建开始菜单快捷方式,方便快速启动命令行。

安装完成后,除了输入mamba -V验证,还可以输入python -V查看默认 Python 版本,输入conda -V验证 conda 是否可用,确保整个环境安装无误。

虚拟环境的高级管理

  1. 克隆虚拟环境:如果需要创建一个与现有环境相同的环境,可使用mamba create –name 新环境名 –clone 现有环境名命令。例如mamba create –name newenv_clone –clone newenv,这在项目迁移和环境复制时非常实用。
  2. 导出和导入环境:导出环境配置到文件,使用mamba env export > environment.yml;根据配置文件创建环境,使用mamba env create -f environment.yml,便于团队协作时统一开发环境。
  3. 删除虚拟环境:当某个环境不再需要时,使用mamba remove –name 环境名 –all命令删除,释放磁盘空间。例如mamba remove –name oldenv –all。

镜像源的优化配置

虽然可以通过-c参数指定镜像源,但更高效的方式是修改配置文件,永久设置镜像源。

在命令行中输入以下命令添加清华大学 conda-forge 镜像:

欢迎大家来到IT世界,在知识的湖畔探索吧!conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/conda config --set show_channel_urls yes

这样后续安装包时会优先从该镜像源下载,大幅提升下载速度。

Visual Studio Build Tools 与 Miniforge3 协同实战

编译依赖包的实际案例

以安装需要编译的 Python 包pycocotools为例,展示两者的协同工作:

  1. 打开命令行,激活 Miniforge3 的虚拟环境:mamba activate myenv
  2. 尝试直接安装:mamba install pycocotools,如果之前 VS Build Tools 安装正确,会自动调用编译器进行编译安装。
  3. 若安装过程中出现编译错误,检查 VS Build Tools 的组件是否齐全,特别是 “Windows 10 SDK” 和 “MSVC 生成工具” 是否安装,若缺失则重新安装并勾选相应组件。

不同 Python 版本下的编译适配

当在 Miniforge3 中创建不同 Python 版本的虚拟环境时,VS Build Tools 需要对应的配置:

  • 对于 Python 3.8 及以上版本,建议使用 VS 2019 或 VS 2022 的 Build Tools。
  • 在虚拟环境中安装对应版本的编译工具支持包:mamba install vs2019_win-64(对应 VS 2019)或mamba install vs2022_win-64(对应 VS 2022),确保编译环境与 Python 版本匹配。

实战问题排查与解决

Miniforge3 常见问题

  1. 命令行无法识别 mamba/conda:除了检查环境变量,还可以重新运行安装程序,选择 “Add to PATH” 选项修复,或者手动将安装目录下的 Scripts 文件夹路径添加到 PATH。
  2. 安装包时出现冲突:使用mamba clean –all清理缓存,然后再尝试安装;若仍有冲突,可指定包的具体版本进行安装。

VS Build Tools 与 Python 协同问题

  1. 编译时提示缺少特定头文件:确认 “Windows 10 SDK” 已安装,且版本与系统匹配。若问题依旧,在项目中指定 SDK 路径,例如在 setup.py 中添加:
import osos.environ["INCLUDE"] = "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.19041.0\\ucrt;" + os.environ.get("INCLUDE", "")
  1. cl.exe 版本不匹配:在命令行中运行vcvarsall.bat时,指定与 Python 架构一致的版本,如 32 位 Python 使用vcvarsall.bat x86,64 位 Python 使用vcvarsall.bat x64。

通过以上补充的实战内容,能让你在使用 Miniforge3 和 Visual Studio Build Tools 搭建 Python 环境时更加得心应手,轻松应对各种复杂的开发场景和可能出现的问题。如果在操作过程中遇到其他疑问,欢迎随时交流探讨。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/142559.html

(0)
上一篇 53分钟前
下一篇 2025年 8月 15日 下午5:30

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信