Is there anything in Python or Linux what basically instructs the system to "install whatever is necessary". Basically I find it annoying to install python packages for each new script/system/server that I work on. Each time I end up doing a sudo pip or an apt-get or dnf anyway. Why not automate that within the script itself. Wherever a 'no package found' error crops up, pass the library name to the install statement. Is this there ?
PS: I know docker exists, but am talking at a Python/script level or a direct system level for purely execution purposes.
How to automatically install required packages from a python script as necessary?
Let's assume that your Python script is example.py:
import os
import time
import sys
import fnmatch
import requests
import urllib.request
from bs4 import BeautifulSoup
from multiprocessing.dummy import Pool as ThreadPool
print('test')
You can use pipreqs to automatically generate a requirements.txt file based on the import statements that the Python script(s) contain. To use pipreqs, assuming that you are in the directory where example.py is located:
pip install pipreqs
pipreqs .
It will generate the following requirements.txt file:
requests==2.23.0
beautifulsoup4==4.9.1
which you can install with:
pip install -r requirements.txt