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 安装官方文档
shellpip 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:发布包到公网
-
初始化项目
shellmkdir poetry-demo cd poetry-demo poetry init
公司开发一般拿到项目cd项目目录 创建环境
poetry env use python
、安装所有依赖poetry instal
shellpyproject.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
cpppoetry-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
进不进虚拟环境即可,但是要进入初始化目录cpppoetry install 初次安装所有依赖 poetry add requests poetry add pydantic@^1.0.0
-
Poetry 更新模块
bashpoetry update 将依赖包安装到满足版本约束要求的最新版本 poetry update requests toml 更新多模块
-
卸载环境依赖
cpppoetry remove requests
-
如果包只在开发测试的时候用,请添加
--group=dev
参数: 安装到 dev-dependencies 区块cpppoetry add black --group dev poetry add --group=dev pytest@latest poetry add pytest -D
-
树状显示模块依赖层级
bashpoetry show --tree poetry show celery --tree
-
输出 Poetry 虚拟环境的 requirements.txt
pip freeze > requirements.txt
bashpoetry 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/
-
环境变量与运行
bashpoetry run pytest tests/test_daily.py poetry run python demo/main.py ENV_FOR_DEMO=dev poetry run python poetry-demo/main.py