如何“强制” python使用模块的特定版本?


问题内容

我是python的新手,所以如果在其他地方使用我没有想到的标签来回答这个问题,我深表歉意。

我正在尝试将numpy从现在的1.6版本更新为1.8版本。当我调用numpy时,我已经在python网站包中安装了numpy,它调用了旧版1.6。我尝试过寻找numpy
1.6的根目录,因此可以将其删除,但这会导致:-

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

我使用以下命令将包含模块的文件夹添加到系统路径:

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

而且我知道这可行,因为我可以毫无错误地调用此位置的其他模块,例如:

import wx
import Bio

import nose

不会产生任何错误。为什么会发生这种情况,如何告诉python使用哪个版本的numpy?


问题答案:

这是一个非常混乱的解决方案,可能不应该被鼓励,但是我发现,如果我从系统路径中删除numpy的旧版本的位置,则可以调用我想要的版本。具体的行是:-

import sys
sys.path.append('C:/Python27/Lib/site-packages')
sys.path.remove('V:\\\Brian.140\\\Python.2.7.3\\\Lib\\\site-packages')
import numpy