Python 如何自动更新pywin32?
据我所知,不能使用pip安装/升级Python 如何自动更新pywin32?,python,github,pip,pywin32,Python,Github,Pip,Pywin32,据我所知,不能使用pip安装/升级pywin32,尽管pip安装-U pypiwin32是一种解决方法 pywin32现在托管在上。我对git知之甚少,但知道它可以处理二进制文件。有没有办法以编程方式升级pywin32二进制文件?也就是说,假设pywin32v221与Python v.3.6(64位)一起安装,该程序应检查GitHub上的最新版本(v223),并下载pywin32-223.win-amd64-py3.6.exe,然后安装它。到目前为止,我只能想到一个类似于web抓取的脚本,它将安
pywin32
,尽管pip安装-U pypiwin32
是一种解决方法
pywin32
现在托管在上。我对git
知之甚少,但知道它可以处理二进制文件。有没有办法以编程方式升级pywin32
二进制文件?也就是说,假设pywin32
v221与Python v.3.6(64位)一起安装,该程序应检查GitHub上的最新版本(v223),并下载pywin32-223.win-amd64-py3.6.exe
,然后安装它。到目前为止,我只能想到一个类似于web抓取的脚本,它将安装的版本与web上的最新版本进行比较,并据此采取行动。我想知道是否有一个简单的解决方案。你可以使用它,但它已经过时了
因此,脚本解决方案(对于其他程序,但具有类似的想法)是可能的。另请参见。如果你想在任何地方解压,并使用,你将可以访问200多个Linux命令,包括
awk
,head
,等等。我可能遗漏了一些关键的东西,否则(几乎)问题中的每一个陈述/假设似乎都不正确:
- python和pip可执行文件位置/版本
- pip测试(使用pip列出pywin32版本)-无输出(未安装pywin32)
- pywin32下载和URL显示
- pywin32安装(稍后测试升级的旧版本)
- pip试验
- pywin32测试(使用pywin32列出pywin32版本)
- pywin32升级
- pip试验
- pywin32测试
(py36x64_test)e:\Work\Dev\StackOverflow\q049398198>其中python pip
c:\Work\Dev\VEnvs\py36x64\u test\Scripts\python.exe
c:\Work\Dev\VEnvs\py36x64\u test\Scripts\pip.exe
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>python-c“导入系统;打印(系统版本)”
3.6.3(v3.6.3:2c5fed8,2017年10月3日,18:11:49)[MSC v.1900 64位(AMD64)]
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>pip-V
c:\work\dev\venvs\py36x64\u test\lib\site包(python 3.6)中的pip 9.0.3
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>rem pip测试
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>pip列表2>nul | findstr pywin32
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>pip下载-vvv pywin32 2>nul | findstr/i下载
下载pywin32-223-cp36-cp36m-win_amd64.whl(9.0MB)
从URL下载https://pypi.python.org/packages/9f/9d/f4b2170e8ff5d825cd4398856fee88f6c70c60bce0aa8411ed17c1e1b21f/pywin32-223-cp36-cp36m-win_amd64.whl#md5=2d211288ee000b6ec5d37436bcbe8a43 (来自https://pypi.python.org/simple/pywin32/)
已成功下载pywin32
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>pip安装https://pypi.python.org/packages/be/25/0e0c568456b77ce144dd2b8799f915b046ffa1cd922771d214e4be05bca2/pywin32-222-cp36-cp36m-win_amd64.whl#md5=94a9a3782081e14973c5ae448957d530 2> 努尔
正在从中收集pywin32==222https://pypi.python.org/packages/be/25/0e0c568456b77ce144dd2b8799f915b046ffa1cd922771d214e4be05bca2/pywin32-222-cp36-cp36m-win_amd64.whl#md5=94a9a3782081e14973c5ae448957d530
下载pywin32-222-cp36-cp36m-win_amd64.whl(9.0MB)
100%|##############################
安装收集的软件包:pywin32
已成功安装pywin32-222
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>rem pip测试
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>pip列表2>nul | findstr pywin32
pywin32(222)
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>rem pywin32测试
(py36x64测试)e:\Work\Dev\StackOverflow\q049398198>python-c“将win32api作为wapi导入;打印(wapi.GetFileVersionInfo(wapi.GetFileVersionInfo,wapi
222
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>pip安装-U pywin32 2>nul
收集pywin32
使用缓存的pywin32-223-cp36-cp36m-win_amd64.whl
安装收集的软件包:pywin32
找到现有安装:pywin32 222
正在卸载pywin32-222:
已成功卸载pywin32-222
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>rem pip测试
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>pip列表2>nul | findstr pywin32
pywin32(223)
(py36x64_测试)e:\Work\Dev\StackOverflow\q049398198>rem pywin32测试
(py36x64测试)e:\Work\Dev\StackOverflow\q049398198>python-c“将win32api作为wapi导入;打印(wapi.GetFileVersionInfo(wapi.GetFileVersionInfo,wapi
223
不幸的是,
pywin32
恰好是不支持发布的版本之一。也就是说,https://api.github.com/mhammond/pywin32/releases/latest
给出“未找到”。有解决这个问题的想法吗?有趣的方法,比我的答案更准确+谢谢你,@VonC!我记得我使用pip安装了pywin32,但我没有时间测试升级是否也能正常工作。@CristiFati在我将pip
升级到9.0.3之后,我也可以pip安装pywin32
。我用的是一个旧版本,但它不能。我用的是9.0.3(更新了答案)。但是我也能够使用PIP9.0.1(Python3.5)安装pywin32,我没有一个旧的。即使你的pip真的很老了,也无法解释。您是否能够使用旧的pip安装其他软件包?或者可能是在您尝试.whl时还没有(发布)吗?@CristiFati您可能是对的,当我执行pip安装时,.whl不在那里-U