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
相关推荐
edisao5 小时前
第三章 合规的自愿
jvm·数据仓库·python·神经网络·决策树·编辑器·动态规划
cuber膜拜5 小时前
Tenacity 原理与基本使用
服务器·网络·python·装饰器模式·tenacity
Myosotis5135 小时前
作业 第三次
开发语言·python
cuber膜拜5 小时前
PyBreaker 原理与基本使用
服务器·网络·python·pybreaker
学Linux的语莫5 小时前
模型转为RKNN格式
python·深度学习·机器学习
Albert Edison5 小时前
【Python】文件
android·服务器·python
沉睡的无敌雄狮5 小时前
可编程数字人落地实践:某省广电用矩阵跃动API重构工作流(选题→政策图谱→方言音色→审稿水印),附Python调度代码
人工智能·python·重构·排序算法·kmeans
junior_Xin5 小时前
Flask框架beginning4
python·flask
JaydenAI6 小时前
[拆解LangChain执行引擎] PregelProtocol——定义了"LangChain执行体"最小功能集
python·langchain
qq_370773096 小时前
python实现人脸识别
开发语言·python·opencv