我试图用condas来安装使用Python 2.7和numpy的版本1.10畅达蟒蛇没有使用numpy的版本,我尝试安装,如果我还指定它应该使用Python 2
我尝试的环境创造这样的环境
conda create -n test2 python=2.7 numpy=1.10
它辩称这是要安装我指定
下列新软件包将被安装的软件:
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
,然后激活并运行蟒蛇
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
告诉我
下列新软件包将被安装:
numpy: 1.10.4-py27_2 python: 2.7.13-0
但当时如果我source activate test4
和检查numpy版本号,它告诉我我再次运行1.13.0。
编辑2(再次响应由UVAR查询):
conda list -n test2
回报
#在/家庭包在环境/ ohnoplus/anaconda3/ENVS /测试2:
#
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
然后蟒蛇import numpy
和numpy.__file__
里面我得到以下
“/home/ohnoplus/.local/lib/python2.7/site-packages/numpy/__init__。PYC”
同时,如果蟒蛇之外,但是test2的里面,我echo $PATH
我得到
/家庭/ ohnoplus/anaconda3/ENVS/test2的/ bin中:/首页/ 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的蟒蛇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变量,还是别的?
您正在运行'source activate'或'source activate test2'吗?如果您正在运行前者,则切换到'root' env,而不是您刚刚创建的那个。 – JoshAdel
对不起。这是一个错误的类型在stackoverflow。我在我的系统上运行了'source activate test2'来获取所描述的行为。 – ohnoplus
所以,如果我遵循完全相同的步骤,对我来说没有问题。然后再次,我有一个Windows安装。从正在安装的软件包中,我可以看到您可能拥有OSX?有可能你的root python安装是干扰的。你可以用'--no-deps'标志来试试吗? – Uvar