据我所知,人们不能使用pip安装/升级pywin32,尽管pip install -U pypiwin32是一个解决办法。
pywin32现在托管在GitHub上。我对git知之甚少,但我知道它适用于二进制文件。有没有一种以编程方式升级pywin32二进制文件的方法?也就是说,假设pywin32 v221是与Pythonv.3.6(64位)一起安装的,程序应该检查GitHub上的最新版本(v223),并下载并安装pywin32-223.win-amd64-py3.6.exe。到目前为止,我只能想到一个类似网络抓取的脚本,它将安装的版本与网络上的最新版本进行比较,并采取相应的行动。我想知道是否有一个简单的解决方案。
发布于 2018-03-26 20:13:34
我可能遗漏了一些重要的东西,否则(几乎)问题中的每一种说法/假设似乎都是不正确的:
为了演示上述所有内容,我创建了一个VirtualEnv,并在此基础上执行了一系列步骤:
输出
(py36x64_test) e:\Work\Dev\StackOverflow\q049398198> sopr.bat ###设置较短的提示符,以便更好地粘贴到### (或其他)页面### prompt>中,其中python py36x64_test prompt> python“导入sys;打印(sys.version)“3.6.3 (v3.6.3:2c5fed8,2007年10月3日,( 18:11:49) MSC v.1900 64 bit (AMD64)> pip -V pip 9.0.3来自AMD64(python3.6) prompt> ::pip test prompt> pip list 2>nul _ findstr pywin32 prompt> pip下载-vvv pywin32 2>nul findstr /i下载pywin32-223-cp36-cp36m-win_amd64.whl (9.0MB),从URL amd64.whl#md5=2d211288ee000b6ec5d37436bcbe8a43 (从https://pypi.python.org/simple/pywin32/下载)成功下载pywin32 prompt> PIP安装amd64.whl#md5=94a9a3782081e14973c5ae448957d530 2>nul收集器。从amd64.whl#md5=94a9a3782081e14973c5ae448957d530下载pywin32-222 -cp36m-cp36m-winamd64.whl ( 9.0MB ) 100% |################################| 9.0MB 135 -c /s安装收集的软件包: pywin32成功安装pywin32 32-222 prompt> ::python prompt> pip list 2>nul findstr PyWin32 pywin32 (222) prompt> ::PyWin32 test prompt> python-c“Importwin32api as wapi;打印(wapi.GetFileVersionInfo(wapi.__file__,\“\”)\“FileVersionLS\”>> 16)使用缓存的pywin32-223-cp36m-cp36m-win_amd64.whl找到现有安装: pywin32 222卸载pywin32 32- 222 prompt> ::python prompt> pip列表2>nul 2>nul findstr pywin32 pywin32 (223) prompt> ::pywin32 test prompt> python“将导入作为wapi;打印(wapi.GetFileVersionInfo(wapi.__file__)\“\”)\“FileVersionLS\”>> 16)“223
有关使用PIP的更多细节,请查看[SO]:如何在Windows 10上安装特定Python版本的软件包?(@CristiFati的回答)。
https://stackoverflow.com/questions/49398198
复制相似问题