使用pip从列表中安装软件包
使用pip从列表中安装软件包
我正在尝试使用pip安装一系列的包。
我使用的代码是:
import pip def install(package_name): try: pip.main(['install', package_name]) except: print("Unable to install " + package_name)
这段代码运行正常,如果一个包不可用,它会报错:
No matching distributions found
然而,我想要做的是,如果安装失败(例如:无效的包名),我想要打印失败的包。
有什么办法可以做到吗?
任何帮助都将不胜感激,谢谢。
admin 更改状态以发布 2023年5月23日
您可以检查包的值以验证是否找到匹配的分发。如果存在安装的候选,通常包将返回0,否则将返回1表示未找到候选项
import pip def install(package_name): package = pip.main(['install', package_name]) result = "Package successfully installed: " if package == 0 else "Unable to find package: " print(result + package_name)
因此,如果您尝试执行以下操作:
>>> install("Virtualenvs")
将返回:
Collecting virtualenvs Could not find a version that satisfies the requirement virtualenvs (from versions: ) No matching distribution found for virtualenvs Unable to find package: virtualenvs
因为"Birtualenvs"没有有效的包。但是,如果有一个有效的包:
>>> install("virtualenv")
将返回:
Requirement already satisfied: virtualenv in/usr/lib/python2.7/dist-packages Package successfully installed: virtualenv