Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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?

like image 489
emptyMug Avatar asked Mar 21 '14 17:03

emptyMug


2 Answers

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)

like image 142
Noam Peled Avatar answered Oct 02 '22 01:10

Noam Peled


Force python to use an older version of module (than what I have installed now) mentions a generic solution:

import pkg_resources
pkg_resources.require("numpy==`1.16.2")  # modified to use specific numpy
import numpy
like image 22
serv-inc Avatar answered Oct 02 '22 02:10

serv-inc