I am writing a program that needs to install dependencies using pip. What is the proper way to do it and why?
Ideally it needs to be platform agnostic, but the program will be running on a Linux machine.
Method 1: pip.main()
import pip
args = ['param1', 'param2']
version = 0.1
package = ['some_package=={}'.format(version)]
pip.main(['install'] + args + package)
Method 2: subprocess.call()
import subprocess
import sys
version = 0.1
package = 'some_package'
subprocess.call([sys.executable, '-m', 'pip', 'install', '{}=={}'.format(package, version)])