【发布时间】:2019-10-06 04:04:47
【问题描述】:
我正在尝试创建一个批处理文件来运行我编写的 Python 脚本,但遇到了一些障碍:
- 我需要确保最终用户安装了 matplotlib-3.1.1 或更高版本,所以我有一个命令:
C:\ProgramData\Anaconda3\python.exe -m pip freeze | findstr matplotlib
但这会产生一个输出:
WARNING: Could not generate requirement for distribution -atplotlib 2.2.2 (c:\pr
ogramdata\anaconda3\lib\site-packages): Parse error at "'-atplotl'": Expected W:
(abcd...)
matplotlib==3.1.1
matplotlib-venn==0.11.5
所以问题是:我如何搜索一个非常具体的包,而不是任何与搜索键大致匹配的东西?
- 如果用户的 matplotlib 版本比要求的版本旧,我希望自动安装最新版本。如何将版本检查(上)的输出发送到 if 子句中使用的某个变量?
提前致谢!
【问题讨论】:
-
package_name in sys.modules帮助确定包是否可用 -
@SuryaTej 如果你已经导入了包名,它只会出现
in sys.modules,如果它不可用,那么导入它的尝试将是raise ImportError。
标签: python batch-file matplotlib