I want to check if a module exists, if it doesn't I want to install it.
How should I do this?
So far I have this code which correctly prints f
if the module doesn't exist.
try: import keyring except ImportError: print 'f'
A quick way is to use python command line tool. Simply type import <your module name> You see an error if module is missing.
To check all the installed Python modules, we can use the following two commands with the 'pip': Using 'pip freeze' command. Using 'pip list command.
You can manually go and check the PYTHONPATH variable contents to find the directories from where these built in modules are being imported. Running "python -v"from the command line tells you what is being imported and from where. This is useful if you want to know the location of built in modules.
import pip def import_or_install(package): try: __import__(package) except ImportError: pip.main(['install', package])
This code simply attempt to import a package, where package is of type str, and if it is unable to, calls pip and attempt to install it from there.
Here is how it should be done, and if I am wrong, please correct me. However, Noufal seems to confirm it in another answer to this question, so I guess it's right.
When writing the setup.py
script for some scripts I wrote, I was dependent on the package manager of my distribution to install the required library for me.
So, in my setup.py
file, I did this:
package = 'package_name' try: return __import__(package) except ImportError: return None
So if package_name
was installed, fine, continue. Else, install it via the package manager which I called using subprocess
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With