关于 python 语言的学习,参见 c++ 开发人员学习 python 的记录
上述笔记缺少了 Python 环境和包管理方面的内容,在这里补充。
在 Linux 环境下,系统可能自带某个版本的 Python;而 Windows 系统一般没有。
无论哪种平台,一般不会更新升级/直接安装 Python 使用。而是,借用虚拟环境管理工具管理 Python 的版本。
每个环境可以使用不同版本的 Python ,安装不同版本的依赖包。
conda conda 是一个开源的包管理系统 + 环境管理系统。
作为包管理系统,conda 和 Python 官方的 pip 各有侧重:
避免在同一个环境中混用 conda 和 pip,以防止潜在的冲突。
conda
在环境管理方面非常强大,是不二之选。
miniconda Anaconda 包含了 conda 以及大量的预装软件包,这些软件包都是数据科学中常用的。
普通开发者使用 Miniconda 即可,它只包含 conda 和其依赖项,以及 Python 本身。
Anaconda/Miniconda 下载包,在墙里的体验很差。 Anaconda 国内源配置
目前(2022年2月11日) v2rayN 代理有问题,开启代理会造成 Anaconda 更新失败 等异常,报错如下:
1 2 3 4 5 6 CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://repo.anaconda.com/pkgs/main/win-64/pluggy-1.0.0-py39haa95532_0.conda> Elapsed: - An HTTP error occurred when trying to retrieve this URL. HTTP errors are often intermittent, and a simple retry will get you on your way.
Anaconda 完全入门指南 ,常用命令摘抄如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 # 切换到 base 环境 activate # 切换到 learn 环境 activate learn # 退出当前工作环境 conda deactivate # 列出 conda 管理的所有环境 conda env list conda info --envs # 创建一个名为 learn 的环境并指定 python 版本为 3(的最新版本) conda create -n learn python=3 # 删除 learn 环境及下属所有包 conda remove -n learn --all # 列出当前环境的所有包 conda list # 安装/ 卸载 / 更新 requests 包 conda install requests conda remove requests conda update requests # 导出当前环境的包信息 conda env export > environment.yaml # 用配置文件创建新的虚拟环境 conda env create -f environment.yaml # 打包迁移 conda pack -n deepseek9 -o deepseek9.tar.gz
可以指定环境的路径(和 -n
互斥),但不推荐:切换/删除 环境时因为没有名字,只能输入全路径,不方便。
1 2 3 4 5 6 7 8 9 10 11 12 conda create -p D:\ProgramData\miniconda3\envs\langchain8 python=3.8.10 activate D:\ProgramData\miniconda3\envs\langchain8 conda remove -p D:\ProgramData\miniconda3\envs\langchain8 --all # LLM langchain conda create -n langchain python=3.12.9 conda activate langchain pip install -U langchain langchain-deepseek langchain-ollama langchain-community openai-whisper conda-pack pip install -U langgraph # LLM langchian for arm pip download --platform=manylinux2014_aarch64 --only-binary=:all: langchain langchain-deepseek langchain-ollama langchain-community conda-pack pip install *.whl # openai-whisper 失败,似乎是没有 arm 平台的?
使用 activate
命令在 windows 命令提示符窗口生效;在 powershell 中无效,执行 activate
后依然警告:
the environment has not been activated.
1 2 3 4 5 6 7 8 9 10 11 PS C:\Users\fnie> activatePS C:\Users\fnie> pythonPython 3.9 .7 (default, Sep 16 2021 , 16 :59 :28 ) [MSC v.1916 64 bit (AMD64 )] :: Anaconda, Inc. on win32 Warning: This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load. To activate this environment please see https://conda.io/activation Type "help" , "copyright" , "credits" or "license" for more information.>>>
和 powershell 执行脚本的权限策略有关系,解决方案:How to activate conda environment from powershell?