python之poetry 安装、创建项目、修改源、创建虚拟环境等操作

CentOs7.5下安装python3,修改源,创建虚拟环境
python 虚拟环境的搭建

  • 使用pyenv 管理多个版本的python

    cpp 复制代码
    安装 pyenv
    curl https://pyenv.run | bash
    pyenv install 3.10
    pyenv local 3.10   # 当前项目激活Python3.10
    pyenv global 3.10  # 当前全部激活Python3.10
  • poetry 安装官方文档

    shell 复制代码
    pip install poetry
  • poetry常用命令

    复制代码
    poetry init: 初始化一个新的 pyproject.toml 文件
    poetry env use: 切换项目的虚拟环境
    poetry shell: 进入项目的虚拟环境
    poetry install: 安装项目的依赖包
    poetry add: 添加依赖包到项目中
    poetry remove: 移除项目中的依赖包
    poetry update: 更新所有依赖
    poetry show: 显示项目的依赖包信息
    poetry run: 运行命令
    poetry export: 导出项目依赖到 requirements.txt 文件 poetry export -f requirements.txt -o requirements.txt
    poetry build:打包
    poetry publish:发布包到公网 
  • 初始化项目

    shell 复制代码
    mkdir poetry-demo
    cd poetry-demo
    poetry init

    公司开发一般拿到项目cd项目目录 创建环境poetry env use python、安装所有依赖poetry instal

    shell 复制代码
    pyproject.toml: 项目的依赖,打包发布声明
    poetry.lock: 确定项目安装内容
    bash 复制代码
    创建虚拟环境:虚拟环境的命名模式为 项目名-随机数-python版本
    poetry env use python
    poetry env use python3.7
    poetry env use $(which python3.10)
    
    删除虚拟环境
    poetry env remove python
    
    进入环境 
    poetry shell
    
    查看环境依赖
    poetry show
    
    退出环境
    exit
  • 查看 poetry 主要设定: poetry config --list

    cpp 复制代码
    poetry-demo>poetry config --list
    cache-dir = "C:\\Users\\zjb\\AppData\\Local\\pypoetry\\Cache"
    experimental.new-installer = true
    experimental.system-git-client = false
    installer.max-workers = null
    installer.modern-installation = true
    installer.no-binary = null
    installer.parallel = true
    virtualenvs.create = true
    virtualenvs.in-project = null
    virtualenvs.options.always-copy = false
    virtualenvs.options.no-pip = false
    virtualenvs.options.no-setuptools = false
    virtualenvs.options.system-site-packages = false
    virtualenvs.path = "C:\\Users\\zjb\\AppData\\Local\\pypoetry\\Cache\\virtualenvs"
    virtualenvs.prefer-active-python = false
    virtualenvs.prompt = "{project_name}-py{python_version}"

    virtualenvs.create = true 若改为 false,没有虚拟环境是自动创建的行为模式
    virtualenvs.in-project = false 将.venv放在当前目录 名称固定位 .venv

  • 安装依赖 poetry add 进不进虚拟环境即可,但是要进入初始化目录

    cpp 复制代码
    poetry install 初次安装所有依赖
    poetry add requests
    poetry add pydantic@^1.0.0
  • Poetry 更新模块

    bash 复制代码
    poetry update  将依赖包安装到满足版本约束要求的最新版本
    poetry update requests toml 更新多模块
  • 卸载环境依赖

    cpp 复制代码
    poetry remove requests
  • 如果包只在开发测试的时候用,请添加 --group=dev 参数: 安装到 dev-dependencies 区块

    cpp 复制代码
    poetry add black --group dev
    poetry add --group=dev pytest@latest
    poetry add pytest -D
  • 树状显示模块依赖层级

    bash 复制代码
    poetry show --tree
    poetry show celery --tree
  • 输出 Poetry 虚拟环境的 requirements.txt pip freeze > requirements.txt

    bash 复制代码
    poetry export -f requirements.txt -o requirements.txt --without-hashes
    poetry export -f requirements.txt -o requirements.txt --without-hashes --dev
  • 修改 poetry 镜像源

    bash 复制代码
    设置默认源
    poetry config repositories.default https://mirrors.aliyun.com/pypi/simple/ 
    指定的源
    poetry source add tsinghua https://pypi.tuna.tsinghua.edu.cn/simple
    安装时换源
    poetry add requests --repository https://mirrors.aliyun.com/pypi/simple/ 
  • 环境变量与运行

    bash 复制代码
    poetry run pytest tests/test_daily.py
    poetry run python demo/main.py
    ENV_FOR_DEMO=dev poetry run python poetry-demo/main.py
相关推荐
郝学胜-神的一滴9 分钟前
AI 编程智能体 27:吃透MCP通信机制
人工智能·python·langchain·wpf·numpy·scikit-learn
天天被压力17 分钟前
【A股分钟级高频数据完全手册 #09】A股历史分时交易数据接口:普通分时怎么批量下
java·人工智能·python
天天被压力25 分钟前
【A股分钟级高频数据完全手册 #10】股票实时行情数据接口Python:公开源实时交易取数
java·人工智能·python
特立独行的猫A10 小时前
我给女儿写了个打字练习:一边敲键盘,一边把小学英语单词记牢
java·后端·python
cpolar技术支持10 小时前
「我这边连不上你那个服务」—— 用清单驱动的 TCP 连通性只读看板,cpolar 让远端同事自己取证
python·内网穿透·tcp·cpolar·网络诊断
云和数据.ChenGuang11 小时前
LangGraph 异步 Node 的设计与写法实践
开发语言·人工智能·python·机器学习·php
天诰12 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
benchmark_cc13 小时前
用 QuantDash 读取美股行情:AAPL.US 的运行前检查、排错顺序与数据校验清单
python·数据分析·pandas·量化交易·股票数据·quantdash
羲云网络16 小时前
GPT Image 2.6 接入指南:Flare、Sunburst 怎么选,编辑失败如何排查
人工智能·python·aigc·图像生成·acedatacloud
橙橙笔记19 小时前
具身智能的学习 - 完成一个机械臂 第1节
python·学习·机械臂·具身智能