How do I 'force' python to use a specific version of a module?

Stuart picture Stuart · Mar 21, 2014 · Viewed 14.4k times · Source

I'm new to python so I apologize if this has been answered elsewhere with tags I haven't thought of.

I'm trying to update numpy from the 1.6 version I have now to 1.8. I've installed numpy in my python site-packages when I call numpy it calls the old 1.6 version. I've tried looking for the root to numpy 1.6 so I can remove it but that leads to :-

import numpy
print numpy.__version__
print numpy.__file__
>>>
1.6.2
V:\Brian.140\Python.2.7.3\lib\site-packages\numpy\__init__.pyc

I've added the folder containing the module to the system path using:-

sys.path.append('C:/Python27/Lib/site-packages')

and I know this works as I can call other modules in this location with no errors, for example:-

import wx
import Bio

and

import nose

produce no errors. Why is this happening and how can I tell python which version of numpy to use?

Answer

Noam Peled picture Noam Peled · Jan 12, 2016

You can also insert the directory to the beginning of the path, so you won't need to remove the old one:

sys.path.insert(1, 'C:/Python27/Lib/site-packages')

That won't work if you've already import your module. You can either import it after the sys.path.insert command, or use importlib.reload(module_name)