If someone created a module in Odoo, which uses Python modules for its working. So at the time of module installation if the system does not find Python packages installed in the system, it will raise an error and not allow to install the module. 😔
👉 To avoid this, I suggest you the following solution:
1- Create a Python file e.g.: setup.py 🙂
2- Add the following code (see code below) into the setup.py file ✍️
3- Don't forget to call the setup.py file in your __init__.py file. 🧐
👉 Once all the previous step done, your Python packages will be installed automatically when you install the module. 😎
class Packages:
"""
This Class installs required Packages or library
"""
get_pckg = subprocess.check_output([sys.executable, '-m', 'pip', 'freeze'])
installed_packages = [r.decode().split('==')[0] for r in get_pckg.split()]
# List of your required packages
required_packages = ['dateparser', 'pandas-highcharts', 'scipy']
for packg in required_packages:
if packg in installed_packages:
pass
else:
print('installing package %s' % packg)
os.system('pip3 install ' + packg)
I can't thank you enough!
Thank you so much. It was much needed.