python - 使用 python 子进程检查是否在 Windows 上安装了 pip
问题描述
我正在使用 python 来检查系统上是否安装了 pip。我写的代码是:
subprocess.run(["pip"],shell=True)
我收到以下错误:
'pip' 不是内部或外部命令、可运行程序或批处理文件。
我已经尝试通过我的系统环境来运行使用
env = os.environ.copy()
subprocess.run(["pip"],shell=True,env=env)
但仍然没有运气。我使用 get-pip.py 在我的 Windows 机器上安装了 pip
解决方案
在 Windows 上,pip
不一定会在PATH
环境变量中,所以简单的运行pip
可能找不到它。
如果pip
安装在当前运行的 Python 中,你应该可以导入它的模块:
pip_present = True
try:
import pip
except ImportError:
pip_present = False
如果您想使用 运行它subprocess
,您可以使用以下内容获取其相对于当前正在运行的 Python 的通常位置sys
:
pip_path = os.path.join(os.path.dirname(sys.executable), "Scripts", "pip.exe")
subprocess.run([pip_path])
推荐阅读
- react-native - React Native i18next 后端不加载 json 文件
- dart - 如何在 Dart 中指定可增长列表的初始容量?
- android - 尝试在 android 上运行 ionic 项目时连接到 mysql 数据库失败
- prolog - 将 Prolog 知识库表示为树
- c# - C#输入数组长于使用removeAt后的列数
- rust - Unwrap_or_else 无法从 Path 获取扩展
- angular - Angular HttpParams 与字符串 URL
- visual-studio-code - Setting character $ to wrap text as parentheses in vscode
- python - 使用 BeautifulSoup 抓取多行属性字符串时保留行尾字符
- ios - iOS、SpriteKit 将 SKTextureAtlas/SKTexture 转换为 UIImage