Windows下多版本Python共享Poetry测试安装

 更新时间:2023年05月25日 11:07:21   作者:qbit  
这篇文章主要为大家介绍了Windows下多版本Python共享Poetry的测试安装配置,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

前言

技术栈

Windows 10
Python  3.8.10
Python  3.11.2
pip     23.0.1
pipx    1.2.0
poetry  1.4.1

Python 3.8 安装目录

C:\Python38

Python 3.11 安装目录

C:\Python311

安装 poetry

设置将以下路径加入 path 环境变量

C:\Python38
C:\Python38\Scripts
C:\Python311
C:\Python311\Scripts
C:\Users\qbit\.local\bin\

复制文件

C:\Python38\python.exe -> C:\Python38\py38.exe 
C:\Python311\python.exe -> C:\Python38\py311.exe

设置 pip 国内镜像源

py38 -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
py311 -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

升级 pip

py38 -m pip install pip --upgrade
py311 -m pip install pip --upgrade

安装或升级 pipx

py38 -m pip install pipx --upgrade
py311 -m pip install pipx --upgrade

在 Python 3.11 下用 pipx 安装 Poetry

py311 -m pipx install poetry --force -i https://mirrors.aliyun.com/pypi/simple/

查看安装情况

> where poetry
c:\Users\qbit\.local\bin\poetry.exe
> poetry --version
Poetry (version 1.4.1)

修改 potry 缓存目录

poetry config cache-dir D:\pypoetry

设置将虚拟环境目录放在项目内

poetry config virtualenvs.in-project true

测试多版本共享

测试 Python 3.11

创建空目录 F:\tmp\test311,在里面创建文件 pyproject.toml,文件内容如下:

[tool.poetry]
name = "test"
version = "0.1.0"
description = ""
authors = ["qbit"]
readme = "README.md"
[[tool.poetry.source]]
name = "aliyun"
url = "https://mirrors.aliyun.com/pypi/simple/"
default = true
[tool.poetry.dependencies]
python = "^3.11"
requests = "~2.28.2"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

创建虚拟环境并安装第三方库

poetry update -vv

查看虚拟环境信息

> poetry env info
Virtualenv
Python:         3.11.2
Implementation: CPython
Path:           F:\tmp\test311\.venv
Executable:     F:\tmp\test311\.venv\Scripts\python.exe
Valid:          True
System
Platform:   win32
OS:         nt
Python:     3.11.2
Path:       C:\Python311
Executable: C:\Python311\python.exe

测试 Python 3.8

创建空目录 F:\tmp\test38,在里面创建文件 pyproject.toml,文件内容如下:

[tool.poetry]
name = "test"
version = "0.1.0"
description = ""
authors = ["qbit"]
readme = "README.md"
[[tool.poetry.source]]
name = "aliyun"
url = "https://mirrors.aliyun.com/pypi/simple/"
default = true
[tool.poetry.dependencies]
python = "^3.8"
requests = "~2.28.2"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

切换 python 版本并创建虚拟环境

poetry env use C:\Python38\python.exe

查看虚拟环境信息

> poetry env info
Virtualenv
Python:         3.8.10
Implementation: CPython
Path:           F:\tmp\test38\.venv
Executable:     F:\tmp\test38\.venv\Scripts\python.exe
Valid:          True
System
Platform:   win32
OS:         nt
Python:     3.8.10
Path:       C:\Python38
Executable: C:\Python38\python.exe

安装第三方库

poetry update -vv

后记

如果报类似如下错误,部分包安装不成功,可以 poetry shell 进入虚拟环境后用 pip 安装报错的包

_WheelFileValidationError
version.py is not mentioned in RECORD
In {self._zipfile.filename}, hash / size of {item.filename} didn't match RECORD

出现上面这个错误的原因是第三方包不够规范,使得 poetry 在校验的时候出错。

可以参考

installer: do not fail on invalid wheels

print only a warning

以上就是Windows下多版本Python共享Poetry测试安装的详细内容,更多关于Windows多版本Python共享Poetry的资料请关注脚本之家其它相关文章!

相关文章

  • Matplotlib绘图基础之子图详解

    Matplotlib绘图基础之子图详解

    这篇文章主要为大家详细介绍了Matplotlib绘制子图的常用方式和技巧,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的可以了解一下
    2023-07-07
  • python利用lxml库剩下操作svg图片

    python利用lxml库剩下操作svg图片

    在大多数场景中,我们都用 lxml 库解析网页源码,但你是否知道,lxml 库也是可以操作 svg 图片的。本文就来和大家聊聊具体操作方法,希望对大家有所帮助
    2023-01-01
  • 使用Python编写类UNIX系统的命令行工具的教程

    使用Python编写类UNIX系统的命令行工具的教程

    这篇文章主要介绍了使用Python编写类UNIX系统的命令行工具的教程,本文来自于IBM官方网站技术文档,需要的朋友可以参考下
    2015-04-04
  • Python中的数据类dataclass解读

    Python中的数据类dataclass解读

    这篇文章主要介绍了Python中的数据类dataclass使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • python使用tkinter实现透明窗体

    python使用tkinter实现透明窗体

    一直在思索实现一个透明的窗体,然后可以基于这个窗体可以开发出各种好玩的应用(如桌面运动的小人、运动的小球、截图、录制GIF等等),今天无意间居然让我把其中一个最核心的技术难关突破了,我非常高兴,也借这个机会跟大家分享一下。
    2021-05-05
  • Pycharm运行程序时,控制台输出PyDev console:starting问题

    Pycharm运行程序时,控制台输出PyDev console:starting问题

    Pycharm运行程序时,控制台输出PyDev console:starting问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 通过Python实现一个简单的html页面

    通过Python实现一个简单的html页面

    这篇文章主要介绍了通过Python写一个简单的html页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • keras获得model中某一层的某一个Tensor的输出维度教程

    keras获得model中某一层的某一个Tensor的输出维度教程

    今天小编就为大家分享一篇keras获得model中某一层的某一个Tensor的输出维度教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python代码解决RenderView窗口not found问题

    Python代码解决RenderView窗口not found问题

    这篇文章主要介绍了Python代码解决RenderView窗口not found问题,需要的朋友可以参考下
    2016-08-08
  • 如何使用Django(python)实现android的服务器端

    如何使用Django(python)实现android的服务器端

    这篇文章主要介绍了Django(python)简单实现android的服务器端,这里所需要的工具是PyCharm--python编辑工具,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07

最新评论