python之poetry 安装、创建项目、修改源、创建虚拟环境等操作
CentOs7.5下安装python3,修改源,创建虚拟环境
python 虚拟环境的搭建
使用pyenv 管理多个版本的python
安装 pyenv
curl https://pyenv.run | bash
pyenv install 3.10
pyenv local 3.10 # 当前项目激活Python3.10
pyenv global 3.10 # 当前全部激活Python3.10
poetry 安装官方文档
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:发布包到公网
初始化项目
mkdir poetry-demo
cd poetry-demo
poetry init
公司开发一般拿到项目cd项目目录 创建环境poetry env use python
、安装所有依赖poetry instal
pyproject.toml: 项目的依赖,打包发布声明
poetry.lock: 确定项目安装内容
创建虚拟环境:虚拟环境的命名模式为 项目名-随机数-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
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
进不进虚拟环境即可,但是要进入初始化目录
poetry install 初次安装所有依赖
poetry add requests
poetry add pydantic@^1.0.0
Poetry 更新模块
poetry update 将依赖包安装到满足版本约束要求的最新版本
poetry update requests toml 更新多模块
卸载环境依赖
poetry remove requests
如果包只在开发测试的时候用,请添加 --group=dev
参数: 安装到 dev-dependencies 区块
poetry add black --group dev
poetry add --group=dev pytest@latest
poetry add pytest -D
树状显示模块依赖层级
poetry show --tree
poetry show celery --tree
输出 Poetry 虚拟环境的 requirements.txt pip freeze > requirements.txt
poetry export -f requirements.txt -o requirements.txt --without-hashes
poetry export -f requirements.txt -o requirements.txt --without-hashes --dev
修改 poetry 镜像源
设置默认源
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/
环境变量与运行
poetry run pytest tests/test_daily.py
poetry run python demo/main.py
ENV_FOR_DEMO=dev poetry run python poetry-demo/main.py
作者:风华浪浪