python poetry2 虚拟环境和依赖管理的工具 作者:马育民 • 2025-06-01 16:56 • 阅读:10015 # 介绍 poetry是一个Python虚拟环境和依赖管理的工具(相当于pip+venv),还提供了打包和发布的功能。 可以类似 pip 用于管理第三方模块的管理,但是比 pip 的功能强大许多,同时还包含 venv 的虚拟环境管理功能。大致的功能如下: - 管理第三方模块的安装与卸载 - 管理虚拟环境 - 管理虚拟环境的依赖 - 管理打包与发布 其中最重要的是 虚拟环境的依赖,意识本文的重点。至于 打包与发布 对于开发者用的不是很多,在这里就不介绍了。 # 安装 poetry 是一个命令行工具,安装之后就可以使用 poetry 指令。可以将其安装全局环境或者是虚拟环境,我推荐安装在全局环境,这样在后面使用时不需要单独激活虚拟环境。同时 poetry 也依赖了比较多的模块,每个虚拟环境都安装一次也会比较麻烦。 ``` pip install poetry ``` 安装之后就会在 python 解释器的安装目录下的 Scripts 目录里面出现 poetry.exe,因为在安装 python 解释器是配置过环境变量,然后就可以直接全局使用了。 # 初始化 poetry 项目 ## 1.初始化 ``` poetry init ``` ## 2.创建虚拟环境 #### 方式一:在当前项目下创建虚拟环境 ``` poetry config virtualenvs.in-project true ``` 执行下面指令创建虚拟环境: ``` poetry env use python ``` 可以看出: - 虚拟环境的路径改为项目的根目录下了 - 名称固定位 `.venv` #### 方式二:在默认目录创建虚拟环境 Windows 系统下 poetry 预设是将虚拟环境创建在: ``` C:\Users\<用户名>\AppData\Local\pypoetry\Cache\virtualenvs ``` 执行下面指令创建虚拟环境: ``` poetry env use python ``` 创建一个名为 `poetry-demo-随机数-py3.xxx` 的虚拟环境 # 更换源 默认源,需要连接国外服务器,可能连接不上或网络速度慢,可以更换国内源 ### 更改默认 PyPI 源 查看默认源: ``` poetry config repositories ``` 更改默认的源,执行下面命令之一: 更换为阿里云源(推荐国内用户) ``` poetry config repositories.pypi https://mirrors.aliyun.com/pypi/simple/ ``` 更换为豆瓣源 ``` poetry config repositories.pypi https://pypi.doubanio.com/simple/ ``` 更换为腾讯云源 ``` poetry config repositories.pypi https://mirrors.cloud.tencent.com/pypi/simple/ ``` ### 更改当前工程的源 当前工程的源,在 `pyproject.toml` 文件中配置: 如下: [](https://www.malaoshi.top/upload/0/0/1GW1h3VIhAgM.png) 更改当前工程的源,可直接修改配置文件,如上,也可以执行下面命令之一: 添加阿里源: ``` poetry source add pypi-ali https://mirrors.aliyun.com/pypi/simple/ ``` ``` poetry source add pypi-tencent https://mirrors.cloud.tencent.com/pypi/simple/ ``` 添加清华源 ``` poetry source add pypi-tuna https://pypi.tuna.tsinghua.edu.cn/simple ``` # 安装、移除依赖 ### 安装依赖 ``` poetry add flask ``` ### 安装依赖-指定版本 ``` poetry add pyarrow==18.0.0 ``` ### 安装依赖(使用指定源) ``` # 从自定义的 "aliyun" 源安装依赖 poetry add requests --source aliyun # 从私有源安装内部包 poetry add my-internal-package --source my-private ``` ### 移除依赖 ``` poetry remove flask ``` ### 查看依赖树 ``` poetry show --tree ``` ### 查看某个依赖的依赖树 ``` poetry show --tree flask ``` # 运行py文件 ### 方式一(简单) 无需手动激活环境,直接在虚拟环境中执行脚本,适合 **单次运行**: ``` poetry run python 1.py ``` ### 方式二(推荐) 激活环境,然后运行 `.py` 文件 #### 激活环境 ``` poetry env activate ``` 执行结果: ``` & "D:\test\.venv\Scripts\activate.ps1" ``` 执行上面的脚本: ``` D:\test\.venv\Scripts\activate.ps1 ``` 执行结果: ``` (poetry-py3.10) PS D:\test> ``` 命令提示符有前缀:`(poetry-py3.10) `,说明激活环境成功 #### 运行 `.py` 文件 ``` python main.py ``` #### 退出环境 ``` deactivate ``` # 其他 ## 删除虚拟环境 ``` poetry env remove python ``` # 项目发给其他人 将 Poetry 项目,发给其他人,其他人可以通过以下步骤,快速建立虚拟环境、安装依赖并运行程序,全程无需手动管理环境依赖: ### 1.安装Python ### 2.安装poetry ### 3.安装虚拟环境、依赖 Poetry 会自动根据 `pyproject.toml` 和 `poetry.lock` 创建虚拟环境、并安装所有依赖,执行下面命令: ``` poetry install ``` ### 报错 安装虚拟环境、依赖时,可能会报错:`README.md` 不存在,手动创建该文件即可 https://blog.csdn.net/weixin_42871919/article/details/137125544 原文出处:http://malaoshi.top/show_1GW1EQAoseV5.html