首页 > 编程语言 >python包管理利器poetry和conda使用简介

python包管理利器poetry和conda使用简介

时间:2024-02-22 16:11:06浏览次数:32  
标签:python poetry 虚拟环境 conda env test

  # 基本信息   conda 相对于主流的虚拟环境管理工具,在 python 开发环境中最大的特点便是 “不需要安装python”。但这并不意味着 conda 不需要 python 来运行脚本,而是 conda 不会依赖于系统中已经存在的 python 进行运行。 因此 conda 拥有较高的独立性以及强悍的跨版本支持。官方网点:https://docs.conda.io/projects/conda/en/latest/index.html  

poetry作为一个传统虚拟环境的实现,poetry 凭借其强大的依赖分析能力被大量项目所推荐的虚拟环境管理工具。

poetry 作为首选的虚拟环境管理工具是最优方案,其强大的依赖分析能力、环境封装能力。


## 依赖包管理
安装requirements.txt中的所有内容 pip install -r requirements.txt
如何生成requirements.txt pip freeze > requirements.txt
### Poetry包管理工具
poerty使用文档 <https://www.cnblogs.com/poloyy/tag/poetry/> <https://pipx.pypa.io/stable/> <https://python-poetry.org/docs/> <https://www.cnblogs.com/aifengqi/p/15394389.html>
- 安装poetry pip instll poetry or pipx install poetry or pipx upgrade poetry 安装完成后可以看是否添加poetry至环境变量中 poetry --version
- 使用poetry创建虚拟环境 通常我们会设置 virtualenvs.create=true 并且直接使用 poetry install 等命令来直接自动创建虚拟环境,不过我们也可以通过 poetry env use 手动创建虚拟环境,或通过 poetry env use <解释器路径> 来手动指定一个 python 解释器。例如:
poetry env use C:\Users\Well404\AppData\Local\Programs\Python\Python310\python.exe
此命令便是使用了安装在默认路径的 Python3.10 解释器进行项目的创建。
- 手动创建虚拟环境 使用 poetry env use PYTHONPATH 命令创建虚拟环境, PYTHONPATH可以使用which python 查看python的路径。
- 激活当前虚拟环境 我们也可以通过 poetry run 命令 来直接在该项目的虚拟环境中执行命令,也可以通过 poetry shell 来显式激活这个虚拟环境。退出使用 exit 则退出当前虚拟环境 例如我们要运行这个虚拟环境中的 main.py 文件,便可使用 poetry run python main.py 或在 poetry shell 激活后直接输入 python main.py。
- 查看当前虚拟环境 poetry env list and poetry env info 查看当前虚拟环境的情况
- 虚拟环境命令 通过 poetry env -h 查看帮助文档
- 新建一个项目模板: poetry new poetry-demo
- 转化现有的项目 已有项目中poetry 会对这个项目进行分析,并生成 pyproject.toml 文件,其过程类似于创建新项目的操作。 cd pre-existing-project poetry init
- 调整poetry设置 通过 poetry config --list 命令,我们可以查看 poetry 的设置。
通过 poetry config 命令,我们可以调节 poetry 的设置。例如:
poetry config virtualenvs.create true poetry config virtualenvs.in-project true 在此,我们简单了解两个配置项:virtualenvs.create 和 virtualenvs.in-project
当参数 virtualenvs.create 为 true 时,执行 poetry install 或 poetry add 时会检测当前项目是否有虚拟环境,没有就自动创建,默认为 true。 当参数 virtualenvs.in-project 为 true 时,虚拟环境的依赖将会放置于项目的文件夹内,而不是 poetry 默认的 {cache-dir}/virtualenvs,默认为 false。 通常情况下将这两项均设置为 true,这将简化我们的工作流程,以及更加方便的管理项目与其依赖。
- 使用poetry安装依赖 如果项目中已有 pyproject.toml 文件,可使用 poetry install 来直接安装其中所列出的依赖。poetry install --no-dev 参数以跳过 dev 使用的依赖,通常在部署项目时使用。 使用 poetry add <package> 可以在环境中安装新的依赖,例如 poetry add numpy,也可以一次性添加多个依赖 poetry add requests pendulum。 通过 --dev 参数可以指定为 dev 依赖,例如 poetry add pytest --dev。 通过指定版本号也可限定依赖的版本范围,例如 poetry add pendulum@^2.0.5 或 poetry add "pendulum>=2.0.5"。
- 安装开发依赖 poetry add uvicorn -D or --dev
- 其他常用命令
查看虚拟环境信息 poetry env info 显示虚拟环境所有列表 poetry env list 查看可以更新的依赖 poetry show --outdated 查看项目安装的依赖 poetry show 以树形结构查看项目安装的依赖关系 poetry show --tree
- vscode配置及调试 使用poetry env info -p 查到选择器的路径
在settings.json中添加如下代码
``` json { "python.defaultInterpreterPath": "/Users/webplus/Library/Caches/pypoetry/virtualenvs/fastapi-glm-demo-dEYW9svt-py3.11" } ```
调试在launch.json中添加如下代码
``` json { "name": "Python 调试程序: FastAPI", "type": "debugpy", "request": "launch", "module": "uvicorn", "args": ["app.main:app", "--reload"], "jinja": true } ```
## conda虚拟环境管理
Python environments in VS Code <https://code.visualstudio.com/docs/python/environments>
- 创建一个名为 test 的虚拟环境。 conda create -n test
- 创建一个名为 test,且python版本为 3.8 的虚拟环境的虚拟环境。 conda create -n test python=3.8
- 从已有的虚拟环境 test 复制一份为 test_copy。 conda create -n test_copy --clone test
- 使用conda移除虚拟环境 移除一个名为 test 的虚拟环境。 conda remove -n test --all
- 查看conda虚拟环境列表 conda env list
- 使用conda激活虚拟环境 激活一个名为 test 的虚拟环境。 conda activate test 首次使用conda时: source activate chatglm3-6b 或 conda activate chatglm3-6b
- 退出conda虚拟环境 conda deactivate 值得注意的是,此命令不包含任何额外的参数。因为一个终端仅能同时激活一个虚拟环境,因此也没有必要指定取消激活的虚拟环境的环境名。
- 返回主环境 如果想返回默认的python 2.7环境,运行 source deactivate py35 # for Linux & Mac
- 查看系统中的所有环境
用户安装的不同Python环境会放在~/anaconda/envs目录下。查看当前系统中已经安装了哪些环境,使用conda info -e。 conda env list 查询当前的conda虚拟环境 <https://blog.csdn.net/miracleoa/article/details/106115730>
## 运行
python -m sklearnex my_application.py python -m app.main

标签:python,poetry,虚拟环境,conda,env,test
From: https://www.cnblogs.com/terrylin/p/18027582

相关文章

  • python—unittest—数据驱动ddt
    ddt(datadrivertest)1.介绍ddt其实就是一个装饰器,它会根据你传递进来的数据来决定要生成几个测试用例2.安装pipinstallddt3.使用@ddt:装饰测试类(把具体的类名传递给ddt,告诉ddt这个测试用例要使用数据驱动)@data:装饰测试用例(把测试数据作为一个参数传递给测试用例)@uppac......
  • Python下载安装教程
    1.下载地址官方下载地址:https://www.python.org/downloads/国内镜像地址:https://mirrors.huaweicloud.com/python/,win选择好版本后,不论是Intel还是AMD处理器,都下载amd64.exe版本的安装包;2.安装双击执行.exe文件,勾选添加环境变量选择安装目录:3.检测cmd输入python命令,出现......
  • python写数据到kingbase
     操作kingbase与操作pg一样,需要psycopg2这个包#!/usr/bin/envpython#coding=utf-8importos,json,urllib,datetime,shutilimportpsycopg2importtracebackimporttime##createtabletb_test##(##idbigserialprimarykeynotnull,##name1varchar(32),##n......
  • python 图片转文字小工具
    应群友要求,要做一个图片转文字的格式,因为有些人的简历中只有一张图片要提取他里面的文字就不好办了。于是就有了下面这个小工具:功能:选择要识别的图片后,识别出来后存到.txt文本中。实现原理,基于百度“文字识别”通用版的api接口调用。有一点需要说明的是可能无法识别百分百准确......
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的玉米病虫害检测系统(Python+PySide6界面+训练代码)
    摘要:本文介绍了一种基于深度学习的玉米病虫害检测系统系统的代码,采用最先进的YOLOv8算法并对比YOLOv7、YOLOv6、YOLOv5等算法的结果·,能够准确识别图像、视频、实时视频流以及批量文件中的玉米病虫害。文章详细解释了YOLOv8算法的原理,并提供了相应的Python实现代码、训练数据集,以......
  • Python:Lambda
    Lambda>>>(lambda:3)()#Usingalambdaexpressionasanoperatorinacallexp.经过查阅资料,理解了这个表达式要做的事情:(lambda:3)()是一个Lambda表达式的调用,它表示创建了一个匿名函数(Lambda函数),该函数不接受任何参数,而在执行时返回值为3。(lambda:3):这......
  • python中常见的异常 error
    python中常见的异常在python2中可以通过一个模块来查看所有的内置异常,而在python3中就无法查看。>>>importexceptions>>>dir(exceptions)['ArithmeticError','AssertionError','AttributeError','BaseException','BufferError',&#......
  • Python Web 开源框架排行榜
    截止到2024年2月22日,对GithubStar>900的PythonWeb开源框架,按照Star数量,从高到低排序,具体排名如下:1.DjangoDjangoisahigh-levelPythonwebframeworkthatencouragesrapiddevelopmentandclean,pragmaticdesign.About: TheWebframeworkforperfec......
  • python实现zip分卷压缩与解压
    1. python实现zip分卷压缩WinHex开始16进制一个一个文件对比WinRar创建的分卷压缩和单个zip文件的差异。如果想把单个大文件 test.zip ->分卷文件 test.z01、test.z02、test.zip首先,在创建的第一个分卷文件 test.z01的前面加上 \x50\x4b\x07\x08 这个是分卷压缩......
  • python在B站爬糖豆广场舞
    先附上代码:importrequests,refromlxmlimportetree#这是单页面下载,翻页的目前还不会url='https://search.bilibili.com/all?vt=96737335&keyword=%E7%B3%96%E8%B1%86%E5%B9%BF%E5%9C%BA%E8%88%9E'headers={'user-agent':'Mozilla/5.0(Window......