cliffjnr
By:
cliffjnr

ImportError: No module named MX while running Python script in Ubuntu 14.04

May 24, 2017 1.2k views
Python Ruby on Rails Ubuntu

Hi

I have a droplet using the one click Ubuntu Ruby on Rails on 14.04 (Postgres, Nginx, Unicorn).

Within my /lib/assets folder i have a ruby script that uses mx module to find the date. I run it with result = `python script.py`

This works fine on my local computer running Ubuntu 16.04, but with the droplet I get the following error:

ImportError: No module named MX 

Obviously Python is installed and I can run other scripts.

I have tried a few suggested remedies from the internet including with a server restart:

apt-get install egenix-mx-base

also I've tried this, although it seems to be for a different module [https://stackoverflow.com/questions/26031160/importerror-no-module-named-datetime](http://)

cp /usr/bin/python2.7 $(which python2.7)

None of these are getting it to run and I face the same error. If anyone can help me I'd really appreciate it.

Cheers

1 comment
  • just to confirm MX is not capitalised. so its

    
    ImportError: No module named mx
    
2 Answers
jtittle1 May 24, 2017
Accepted Answer

@cliffjnr

Have you tried to install the module using pip?

pip install egenix-mx-base
  • Hi, yes I tried that before and just now. I receive

    The program 'pip' is currently not installed. You can install it by typing:
    apt-get install python-pip
    

    now i dont want to go ahead with install just in case this isnt the recommended way to do it?

    • @cliffjnr

      If it's not installed, you'll want to go ahead and run that command to install it. Once pip is available, you can try the command that I provided to see if that helps.

      • and that has done it! much thanks for that I really appreciate the help.

        • @cliffjnr

          No problem at all :-). Happy to help!

          When in doubt, core packages should be installed with apt or apt-get. In most all cases, if it's a module, use pip. That'll ensure everything is placed where it needs to be, thus allowing you to import.

What happens if you run your script directly?

python script.py

Paste the full traceback. Also paste what Python is used:

which python
  • Hi abltrolly

    I'll have to try this when I return home from work tonight, about 6pm GMT.

    I have tried to run it from the command line via

    python /pathto/script.py
    

    and I'm almost certain I still receive the error, although I will try when I home.

    I'll also run the which python command as well.

    Thanks for your reply.

Have another answer? Share your knowledge.