conda python 没有使用我尝试安装的 numpy 版本,如果我还指定它应该使用 python 2
conda python isn't using the numpy version I try install if I also specify that it should use python 2
我正在尝试使用 condas 安装使用 python 2.7 和 numpy 版本 1.10
的环境
我尝试营造这样的环境
conda create -n test2 python=2.7 numpy=1.10
它声称要安装我指定的软件
The following NEW packages will be INSTALLED:
mkl: 11.3.3-0
numpy: 1.10.4-py27_2
openssl: 1.0.2l-0
pip: 9.0.1-py27_1
python: 2.7.13-0
readline: 6.2-2
setuptools: 27.2.0-py27_0
sqlite: 3.13.0-0
tk: 8.5.18-0
wheel: 0.29.0-py27_0
zlib: 1.2.8-3
然后激活它 运行 python
source activate test2
python
它告诉我我正在使用 python 版本 2.7.13 然后我尝试检查 numpy 版本号
import numpy
numpy.version.version
它告诉我我有版本
'1.13.0'
这不是我指定的版本。另一方面,如果我跳过指定 python 版本,它会安装 python 3,但正确版本的 numpy (1.10.4)
对这里发生的事情有什么想法吗?此外,我该如何解决这个问题?谢谢!
编辑:根据 Uvar 的评论
conda create -n test4 python=2.7 numpy=1.10 --no-deps
告诉我
The following NEW packages will be INSTALLED:
numpy: 1.10.4-py27_2
python: 2.7.13-0
但是如果我 source activate test4
并检查 numpy 版本号,它告诉我我再次 运行ning 1.13.0。
编辑 2(再次响应 Uvar 的查询):
conda list -n test2
returns
# packages in environment at /home/ohnoplus/anaconda3/envs/test2:
#
mkl 11.3.3 0
numpy 1.10.4 py27_2
openssl 1.0.2l 0
pip 9.0.1 py27_1
python 2.7.13 0
readline 6.2 2
setuptools 27.2.0 py27_0
sqlite 3.13.0 0
tk 8.5.18 0
wheel 0.29.0 py27_0
zlib 1.2.8 3
编辑 3:
如果我 source activate test2
然后在 python import numpy
和 numpy.__file__
内部,我得到以下
'/home/ohnoplus/.local/lib/python2.7/site-packages/numpy/__init__.pyc'
同时,如果在 python 之外,但在 test2 之内,我 echo $PATH
我明白了
/home/ohnoplus/anaconda3/envs/test2/bin:/home/ohnoplus/anaconda3/bin:/home/ohnoplus/bin:/home/ohnoplus/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
编辑 4:
@Uvar 和@MSeifert 指出我应该让路径变量指向正确的位置。我会尝试做正确的事,但我有几个问题:
我注意到如果我查看 sys.paths
,test2 中的 python sys.path 似乎在寻找 numpy 的正确位置
import sys
print (sys.path)
['', '/home/ohnoplus/anaconda3/envs/test2/lib/python27.zip', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/plat-linux2', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/lib-tk', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/lib-old', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/lib-dynload', '/home/ohnoplus/.local/lib/python2.7/site-packages', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/site-packages', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/site-packages/setuptools-27.2.0-py2.7.egg']
我应该更新命令行中引用的 $PATH,这个 sys.path 变量,还是其他什么?
好的。知道了!当我 运行 sys.path
它先查找“.local/lib/python2.7/site-packages”,然后再查找 "anaconda3/envs/test2/lib/python2.7/site-packages"
我认为我从未在 .local 中使用过 python 版本,所以我只是将 python2.7 目录从 ~/.local/lib 中移出。这似乎解决了这个问题。现在当我导入 numpy 时,版本符合预期。
参考:
下面链接的讨论以及 Uvar 和 MSeifert 的评论为我指出了解决这个问题的方向。
我正在尝试使用 condas 安装使用 python 2.7 和 numpy 版本 1.10
的环境我尝试营造这样的环境
conda create -n test2 python=2.7 numpy=1.10
它声称要安装我指定的软件
The following NEW packages will be INSTALLED:
mkl: 11.3.3-0 numpy: 1.10.4-py27_2 openssl: 1.0.2l-0 pip: 9.0.1-py27_1 python: 2.7.13-0 readline: 6.2-2 setuptools: 27.2.0-py27_0 sqlite: 3.13.0-0 tk: 8.5.18-0 wheel: 0.29.0-py27_0 zlib: 1.2.8-3
然后激活它 运行 python
source activate test2
python
它告诉我我正在使用 python 版本 2.7.13 然后我尝试检查 numpy 版本号
import numpy
numpy.version.version
它告诉我我有版本
'1.13.0'
这不是我指定的版本。另一方面,如果我跳过指定 python 版本,它会安装 python 3,但正确版本的 numpy (1.10.4)
对这里发生的事情有什么想法吗?此外,我该如何解决这个问题?谢谢!
编辑:根据 Uvar 的评论
conda create -n test4 python=2.7 numpy=1.10 --no-deps
告诉我
The following NEW packages will be INSTALLED:
numpy: 1.10.4-py27_2 python: 2.7.13-0
但是如果我 source activate test4
并检查 numpy 版本号,它告诉我我再次 运行ning 1.13.0。
编辑 2(再次响应 Uvar 的查询):
conda list -n test2
returns
# packages in environment at /home/ohnoplus/anaconda3/envs/test2:
#
mkl 11.3.3 0 numpy 1.10.4 py27_2 openssl 1.0.2l 0 pip 9.0.1 py27_1 python 2.7.13 0 readline 6.2 2 setuptools 27.2.0 py27_0 sqlite 3.13.0 0 tk 8.5.18 0 wheel 0.29.0 py27_0 zlib 1.2.8 3
编辑 3:
如果我 source activate test2
然后在 python import numpy
和 numpy.__file__
内部,我得到以下
'/home/ohnoplus/.local/lib/python2.7/site-packages/numpy/__init__.pyc'
同时,如果在 python 之外,但在 test2 之内,我 echo $PATH
我明白了
/home/ohnoplus/anaconda3/envs/test2/bin:/home/ohnoplus/anaconda3/bin:/home/ohnoplus/bin:/home/ohnoplus/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
编辑 4: @Uvar 和@MSeifert 指出我应该让路径变量指向正确的位置。我会尝试做正确的事,但我有几个问题:
我注意到如果我查看 sys.paths
,test2 中的 python sys.path 似乎在寻找 numpy 的正确位置 import sys
print (sys.path)
['', '/home/ohnoplus/anaconda3/envs/test2/lib/python27.zip', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/plat-linux2', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/lib-tk', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/lib-old', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/lib-dynload', '/home/ohnoplus/.local/lib/python2.7/site-packages', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/site-packages', '/home/ohnoplus/anaconda3/envs/test2/lib/python2.7/site-packages/setuptools-27.2.0-py2.7.egg']
我应该更新命令行中引用的 $PATH,这个 sys.path 变量,还是其他什么?
好的。知道了!当我 运行 sys.path
它先查找“.local/lib/python2.7/site-packages”,然后再查找 "anaconda3/envs/test2/lib/python2.7/site-packages"
我认为我从未在 .local 中使用过 python 版本,所以我只是将 python2.7 目录从 ~/.local/lib 中移出。这似乎解决了这个问题。现在当我导入 numpy 时,版本符合预期。
参考: 下面链接的讨论以及 Uvar 和 MSeifert 的评论为我指出了解决这个问题的方向。