我有以下requirements.txt
文件:
beautifulsoup4=4.8.2==py37_0
urllib3=1.25.8=py37_0
pyopenssl=19.1.0=py37_0
openssl=1.1.1d=h1de35cc_4
pandas=1.0.1=py37h6c726b0_0
tqdm=4.42.1=py_0
我需要安装所有这些软件包,或确保从python脚本中安装了它们。我该怎么做?
答案 0 :(得分:2)
一种方法可以像这样:
import os
import sys
os.system(f'{sys.executable} -m pip install -r requirements.txt') #take care for path of file
子程序可以像@sinoroc所说的那样在docs中使用更多的控制命令(和特殊情况处理)来调用该命令,
文档建议的一个命令是:
subprocess.check_call([sys.executable, '-m', 'pip', 'install', 'my_package'])
这是subprocess.call
的包装。
答案 1 :(得分:2)
使用以下内容:
import subprocess
import sys
command = [
sys.executable,
'-m',
'pip',
'install',
'--requirement',
'requirements.txt',
]
subprocess.check_call(command)
使用sys.executable
获取当前正在运行的Python解释器的路径并与-m pip
(可执行模块)一起使用以确保100%确保 pip 为该特定的解释程序安装。实际上,仅调用pip
( script )绝对不能保证将调用什么Python解释器,pip
可以与系统上的任何Python解释器关联。
此外,subprocess.check_call
确保在该过程未成功结束(即安装未成功)的情况下引发错误。
以下建议是不可靠的,即使不是很危险:
os.system('pip install -r requirements.txt')
参考:
答案 2 :(得分:0)
与txt文件位于同一目录中时,您可以运行命令pip install -r requirements.txt
或者在python中使用
import os
os.system ('pip install -r path/to/requirements.txt')