踩坑:VirtualBox:安装提示缺少python core和win32 api

一、安装Oracle VirtualBox时出现以下现象

内容提示:

安装Oracle VM VirtualBox 7.0.24的Python绑定需要先安装Python Core包和win32api绑定。

如果现在继续安装Oracle VM VirtualBox 7.0.24的Python绑定,那么这些依赖项需要在之后手动设置。用户可以参考Oracle VM VirtualBox 7.0.24 SDK手册获取更多信息。

如果忽视这项问题会遇到

二、在查询相关信息后了解到


Python Core/win32api 专为 Python 程序而设计。让 Python 与 Windows 系统通信。

通常,使用 VBox 中的图片和按钮(图形用户界面)完成许多虚拟系统的添加。但是,如果想执行更高级的作,例如使用命令处理这些 VM,则可能需要此 ID。

总之,Win32api 为 Oracle VM 软件提供了额外的功能。想要使用Oracle VM,则需要它。

三、正式踩坑

了解到这些后通常使用python的包管理器 “pip” 安装 pywin32 后可正常安装。

使用:

pip install pywin32

但是运行后却出现:

Requirement already satisfied: pywin32 in d:\programs\anaconda\anaconda3\lib\site-packages (305.1)

表明已经安装了pywin32包,但是这和Oracle VM VirtualBox 7.0.24安装程序的提示冲突,我似乎不太能理解。
明明已经存在pywin32为何还会报错?也许有人已经发现了。

“in  d:\programs\anaconda\anaconda3\lib\site-packages (305.1)”

这是 anaconda 所管理的python,由于系统中安装的python实际上还未安装,所以安装程序并未在系统中找到pywin32包。

四、解决

了解到问题,可以得出解决方案,在系统中的python环境下安装pywin32包。

1.不能运行系统python的包管理器

问题:如果直接在终端(PowerShell)中运行pip,在设定的系统环境下运行的是anaconda所管理的python,所以不能直接运行,但是我又不想改变我的系统环境,因为这可能影响我的其他程序或代码。


2.在系统python目录下运行包管理器

在终端中输入pip.exe的路径并执行下载即可

注意:如果路径中存在空格,命令行会识别为分隔符

3.cmd和PowerShell运行时的区别
 

在PowerShell运行:

PS C:\Users\username>"D:\Program Files (x86)\Python\Python313\Scripts\pip3.exe" install pywin32
所在位置 行:1 字符: 60
+ ... rogram Files (x86)\Python\Python313\Scripts\pip3.exe" install pywin32 ...
+                                                           ~~~~~~~
表达式或语句中包含意外的标记“install”。
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken

PowerShell 中的引号处理规则比较严格,尤其是当路径中包含空格时。命令中:PowerShell 将 install 误认为是路径的一部分,而不是 pip 的参数,因此报错

单引号在 PowerShell 中可以避免变量展开,适合用于路径处理。将路径用单引号包裹起来:

 & "D:\Program Files (x86)\Python\Python313\Scripts\pip3.exe" install pywin32

最后问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值