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'
Advertisement
Answer
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.