我是python的新手,所以如果我已经在其他地方使用我无法想到的标签回答道歉,我会道歉。
我试图将numpy从我现在的1.6版本更新为1.8。我在我的python site-packages中安装了numpy,当我调用numpy时,它调用旧的1.6版本。我已经尝试寻找root来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?
答案 0 :(得分:3)
您也可以将目录插入路径的开头,这样您就不需要删除旧目录了:
ScrollableAppBar appBarLayout = (ScrollableAppBar) findViewById(R.id.appbar);
//To give the effect "in the middle" of the image (like gif)
appBarLayout.collapseToolbar();
如果您已经导入了模块,那么它将无法运行。您可以在sys.path.insert命令之后导入它,也可以使用importlib.reload( module_name )
答案 1 :(得分:2)
这是一个非常混乱的解决方案,可能不应该被鼓励,但我发现如果我从系统路径中删除旧版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
答案 2 :(得分:1)
Force python to use an older version of module (than what I have installed now)提到了一种通用解决方案:
import pkg_resources pkg_resources.require("numpy==`1.16.2") # modified to use specific numpy import numpy